700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > `>>`(有符号右移) 和 `>>>`(无符号右移)的区别

`>>`(有符号右移) 和 `>>>`(无符号右移)的区别

时间:2019-06-03 21:38:47

相关推荐

`>>`(有符号右移) 和 `>>>`(无符号右移)的区别

JavaScript>>(有符号右移) 和>>>(无符号右移)的区别

之所以以 JS 为例,是因为Java中不支持无符号操作

直接看MDN英文吧:

>> (有符号右移)

sign-propagating(符号位-传播)右移我们知道,计算机中以二进制存储数字,二进制中最左边的第一位,叫符号位,所以这就很明显了,右移2位后,最左边缺少2位数字,那就应该填充数字,那填充什么呢?符号位是什么,我就填什么,所以-9 >> 2中最左边2位和符号位一样,都是1。

>>> (无符号右移)

zero-fill(零-填充)这个就更明显了,直接就说了,用0填充,所以右移后空位不管你符号位是啥,我都只填0。

总结

因此,我们所说的有符号、无符号看的就是二进制的符号位

无符号:就是不管符号位,右移只填充0;有符号:就是符号位是啥,我就填充啥。Java中也是同理。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。