读书人

算术移位与逻辑移位解决方案

发布时间: 2012-10-15 09:45:24 作者: rapoo

算术移位与逻辑移位
书上说这两种移位是不同的,但是不同点体现在机器上,有些机器用算术移位,有些机器用逻辑移位
请问这是为什么呢?

逻辑移位和算术移位分别在什么情况下使用啊?


另外

比如 signed int a = -1;
a = a >> 3;

这个结果到底是 -1 , 还是-0.125 ?
原因何在?

多谢各位!


[解决办法]
10000010算术右移1位11000001
10000010逻辑右移1位01000001
[解决办法]
区别就是对符号位的处理不同
算术是保持符号位的
逻辑不考虑符号位,该怎么移就怎么移

读书人网 >C语言

热点推荐