C语言位运算,怎样修改每一位的值呢?就三种情况,以单字节为例说明:1、将某一位置1,无论原来是0是1,操作后肯定是1,“按位或(即操作符’|’)”一个该位为1,其余位为0的单字节数。如a=00001000,b=000000010,则a|b=00001010,即
C语言位运算,怎样修改每一位的值呢?
就三种情况,以单字节为例说明:
1、将某一位置1,无论原来是0是1,操作后肯定是1,“按位或(即操作符’|’)”一个该位为1,其余位为0的单字节数。如a=00001000,b=000000010,则a | b=00001010,即把第1位变成1了。注意位数从右至左是0~7。
2、将某一位置0,无论原来是0是1,操作后肯定是0,“按位与(即操作符’&’)”一个该位为0,其余位为1的单字节数。如a=00001010,b=11111101,则a | b=00001000,即把第1位变成0了。
3、将某一位变反,即原为1时变为0,原为0时变为1,“按位异或(即操作符’^’)”一个该位为1,其余位为0的单字节数。如a=00001000,b=000001000,则a | b=00000000,即把第3位变反为0了。
用位运算如何实现十进制数转换成二进制数?用C或C语言最讨厌的是必
程序如下:
#include
int main(void)
const int iTimes=sizeof(int) * 8;
int iMask=1;
int x = 12345; //这个就是要转换的数
int x2[iTimes];
int i;
for( i=0 ; i=0 ; i– ){
printf(“%d”,x2[i] ? 1 : 0 );
}
return 0;
创业项目群,学习操作 18个小项目,添加 微信:niuben22 备注:小项目!
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1553299181@qq.com举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.gzxsgy.com/25147.html
如若转载,请注明出处:https://www.gzxsgy.com/25147.html