找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
{{itemCategory}}
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
自己做两个函数,一个读取某个位,一个写某个位,读取时,用除了目标位,其余都0的数“与&”这个32位变量;写的时候,置0时,用除了目标位,其余都是1的数“与&”这个32位变量,置1时,用除了目标位为1,其余位都是0的数“或|”这个32位变量。
//读
unsigned int read_BIT(unsigned int a,unsigned int b)
{
int i=1;
i<<=b;
return a&i;//非0为真
}
//写
unsigned int write_BIT( unsigned int a,unsigned int b,int c)
{
//c为真,把b对位的位置1,否则置0;
unsigned int i=1;
i<<=b;
if(c){
return a|i;
}
else{
i=~i;
return a&i;
}
}
你可能不需要脚本,如图:
使用时:
//获取第n位状态: 0 <= n <=31
GetBitN("tag", 0);
//写1
SetBitN("tag", 31);
//写0
ResetBitN("tag", 2);
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!