黑马程序员技术交流社区
标题:
学习中的一点总结———移位运算
[打印本页]
作者:
dwy_hm
时间:
2014-12-16 22:13
标题:
学习中的一点总结———移位运算
移位运算有左移运算<<
右移运算>>
和无符号右移运算>>>
移位运算就是把二进制数据按每一位进行向左移或向右移动的运算
<<就是将数据所有二进制位向左位,运算时,右边的空位补0,左边移走的部分舍去。
>>就是将数据所有二进制位向右移位,运算时,左边的空位补0或1(正数补0,负数补1)
>>>就是将数据所有二进制位向右移位,运算时,左边的空位补0,不考虑正负。
值得注意的是:当移动的位数超过了该类型数据的最大位数,那么编译器会对移动的位数去模类型的最大位数,然后按照取模结果进行移位。
比如说:int a = 2 //整数2的二进制总共有32位
a<<33 //把2移动33位其实就是33%32=1,就是等同于 a<<1
作者:
dwy_hm
时间:
2014-12-16 22:15
补充说明一下:无符号右移运算符>>>只对32位和64位的值有意义
作者:
zzn2508
时间:
2014-12-16 22:24
感谢分享
作者:
Bali
时间:
2014-12-16 22:28
分享有效!
作者:
Android周
时间:
2014-12-16 23:45
感谢分享,赞
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2