左移右移运算

左移右移运算

题目
左移右移运算
右移相当于是除,左移相当于就是乘,左移一位乘以2,左移二位乘以4,依此类推.无论正数、负数,它们的右移、左移、无符号右移32位都是其本身,比如-532=-5、-5>>>32=-5
如:-5>>3=-1
-53=0
5>3=536870911
请问这里-5>>3相当于-5/8=-0.625然后约等于-1?
5>>3相当于5/8=0.625然后约等于0?就是说用除法得到的负的小数与正的小数约等于后的值都是靠近0的值?
另外,-5>>>3=536870911怎么得到的?谢谢!
答案
>>右移时,空出来的高位用1还是0补上是由计算机系统决定的,不过从你给的题目可看出,是由要位移的数的高位决定的,如果高位为1则用1补,高位为0则用0补,
-5用十六进制表示就是0xffff fffb,右移3位,高位空出来的3位用1补,就是0xffffffff,即-1
5用十六进制表示就是0x00000005,右移3位,高位空出来的3为用0补,就是0x00000000,即0
>>>是无符号右移运算符,即空出来的位用0补,所以
-5>>>3即0xfffffffb>>>3 得到的十六进制数为0x1fffffff 也就是536870911
举一反三
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
1,人们染上烟瘾,最终因吸烟使自己丧命.
最新试题
热门考点

超级试练试题库

© 2017-2019 超级试练试题库,All Rights Reserved.