左移右移运算32=-53=-1 -53=03=5368709113相当于-5/8=-0.625

发布时间:2021-02-25 16:12:17

左移右移运算32=-53=-1 -53=03=5368709113相当于-5/8=-0.625然后约等于-1?3相当于5/8=0.625然后约等于0?就是说用除法得到的负的小数与正的小数约等于后的值都是靠近0的值?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
以上问题属网友观点,不代表本站立场,仅供参考!