C语言中的位运算符主要有哪些?逻辑右移与算术右移的区别?

逻辑右移与算术右移的区别?

逻辑右移就是不考虑符号位,右移一位,左边补零即可。
算术右移需要考虑符号位,右移一位,若符号位为1,就在左边补1,;否则,就补0。


所以算术右移也可以进行有符号位的除法,右移n位就等于除2的n次方。


例如,8位二进制数11001101分别右移一位。
逻辑右移就是[0]1100110
算术右移就是[1]1100110

C语言中的位运算符主要有哪些?

猜你喜欢

转载自blog.csdn.net/weibo1230123/article/details/84204081