您没有来错地!为了更好的发展,黑基网已于9月19日正式更名为【安基网】,域名更换为www.safebase.cn,请卸载旧的APP并安装新的APP,给您带来不便,敬请理解!谢谢

黑基Web安全攻防班
安基网 首页 IT技术 电脑技术 查看内容

C语言位运算符的使用

2009-2-2 14:22| 投稿: computer

摘要: 一、按位与运算符& 参与运算的两个量按照对应的位进行与运算,且 0&0→0,  0&1→0,  1&0→0,&nb...
一、按位与运算符& 参与运算的两个量按照对应的位进行与运算,且 0&0→0,  0&1→0,  1&0→0,  1&1→1 利用按位与运算,我们可以方便地实现清零或取一个数的某些位。 例如 取出a的低4位,将b的低4位清零。 0x0F&a 取出a的低4位 0xF0&b 将b的低4位清零 这种方法称为“屏蔽方法”,其中0x0F、0xF0称为屏蔽字。 二、按位或运算符| 参与运算的两个量按照对应位进行或运算,且 0|0→0,  0|1→1,  1|0→1,  1|1→1 利用按位或运算,我们可以方便地实现置位或组合新值。 例如 将整数i(2字节)的低字节全置为1。 0xff|i 例如 将整数a的低字节和整数b的高字节组成一个新值。 先取出a的低字节:0xff&a (或0x00ff&a) 再取出b的高字节:0xff00&b 然后组成新值:  0xff&a|0xff00&b 三、按位异或运算符^ 参与运算的两个量按照对应的位进行异或运算,且 0^0→0,  0^1→1,  1^0→1,  1^1→0 此外,一个数与0异或仍保持不变,即a^0=a 一个数与自己异或结果为0,即a^a=0 四、按位取反运算符~ 这是位运算符中唯一的单目运算符,即将数的每一位取反(0→1,1→0)。 例如 将整数a的最低位清零 0xfffe&a 对于有的大中型计算机,整型占4个字节,如将上式直接挪用过去,则将丢失a的两个高字节,必须改为 0xfffffffe&a 因此程序通用性降低。若改为下面形式则通用: ~1&a 五、左移运算符<< 将一个数的各二进制位全部左移若干位。左移后右边补入0,左边移出的位舍弃。 例如 若a=3,则b=a<<1,b为6   c=b<<1,c为12 即左移一位相当于乘以2。用这种方式实现乘法运算比其它方式快得多,但只适用于左边没有1被移出的情况。例如 a=0x83,则a<<1 结果为6 六、右移运算符>> 将一个数的各二进制位全部右移若干位。右移后,右边移出的位被舍弃,左边补入的位分两种情况: (1) 对无符号数,左边补入0 (2) 对有符号数,若符号位为0(正数)则补入0;若符号位为1(负数)则补入1。

小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册黑基账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!



免责声明:本文由投稿者转载自互联网,版权归原作者所有,文中所述不代表本站观点,若有侵权或转载等不当之处请联系我们处理,让我们一起为维护良好的互联网秩序而努力!联系方式见网站首页右下角。


鲜花

握手

雷人

路过

鸡蛋

相关阅读

最新评论

最新

返回顶部