c语言变量在0和1反转,复习C语言位运算

c语⾔变量在0和1反转,复习C语⾔位运算
0x01:按位与(&)
作⽤:
1)清零。如果想让⼀个单元清零,即使其全部⼆进制位为0
2)取⼀个数中某些指定位。即将想要的那些位置1.
例:如有⼀个整数a(2个字节),想要其中的低字节,只需将a与(377,8进制 == 00000000 11111111)按位与即可。
3)要想将哪⼀位保留下来,就与⼀个数&运算,此数在该位取1.
0x02:按位或(|)
作⽤:
常⽤来对⼀个数据的某些位定值1,例:a(16位整数),a|0377,则低8位全置1,⾼8位保持原样
0x03:异或(^)
作⽤:
1)使特定位翻转
假设有01111010,想使其低4位翻转,即1变0,0变1,。可以将它与00001111进⾏^运算。
2)与0相^保留原值
3)交换两个值,不⽤临时变量北京地下直径线
假设a=3,b=4
a=a^b;
b=b^a;谷歌学术
a=a^b;
0x03:取反(~)
全国消毒产品网上备案信息服务平台
郝迪作⽤:
若⼀个整数,若想使最低⼀位为0,可以⽤⼀致性较好的a=a&~1;(~运算符优先级⽐算术运算符,关系运算符,逻辑运算符和其他运算符都⾼)
0x03:左移(<
作⽤:
⾼位左移后溢出,舍弃.
⼀般⽤来取低位
0x04:右移(>>)
作⽤:灵山地震
低位右移后被舍弃,对⽆符号数,⾼位补0
⼀般⽤来取低位
右移⼀位相当于除以2,右移n位相当于除以2的n次⽅
注意:在右移时,需要注意符号位的问题。对⽆符号数,右移时左边⾼位移⼊0,对于有符号数,如果原来符号位为0(该数为正),则左边也是移⼊0,如果符号位原来为1(即负数),则左边移⼊0还是1,取决于计算机系统。
>唐山穆斯林

本文发布于:2024-09-20 17:25:48,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/414740.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:右移   想要   符号   运算符   位为
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议