C中关于对变量或寄存器进行位操作的问题,求指教。。
给定一个整型变量a,写两段代码,第一个设置a的bit 3,第二个清除a 的bit 3。
在以上两个操作中,要保持其它位不变。
要求:不用用bit fields。
我想了半天还是一头雾水,求助!
[解决办法]
你把那个整数非了一下(~这是非),那么他的第三位就变成了0其他位全是1,你用a和那个数做“&”运算,就能做到设置第3位为0,保持其它位不变
发布时间: 2012-03-07 09:13:51 作者: rapoo
C中关于对变量或寄存器进行位操作的问题,求指教。。
给定一个整型变量a,写两段代码,第一个设置a的bit 3,第二个清除a 的bit 3。
在以上两个操作中,要保持其它位不变。
要求:不用用bit fields。
我想了半天还是一头雾水,求助!
[解决办法]
你把那个整数非了一下(~这是非),那么他的第三位就变成了0其他位全是1,你用a和那个数做“&”运算,就能做到设置第3位为0,保持其它位不变