左移右移运算

左移右移运算
右移相当于是除,左移相当于就是乘,左移一位乘以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怎么得到的?谢谢!
数学人气:513 ℃时间:2019-08-20 21:28:11
优质解答
>>右移时,空出来的高位用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
我来回答
类似推荐
请使用1024x768 IE6.0或更高版本浏览器浏览本站点,以保证最佳阅读效果。本页提供作业小助手,一起搜作业以及作业好帮手最新版!
版权所有 CopyRight © 2012-2024 作业小助手 All Rights Reserved. 手机版