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

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

直接看MDN英文吧:

>> (有符号右移)


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

>>> (无符号右移)


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

总结

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

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

`>>`(有符号右移) 和 `>>>`(无符号右移)的区别相关推荐

  1. 分析轮子(二)- ,, (左移、右移、无符号右移)

    前言:写 分析轮子(一)-ArrayList.java 的时候看到源码中有 int newCapacity = oldCapacity + (oldCapacity >> 1); 这样的代 ...

  2. 通过原码、反码、补码彻底搞清左移、右移、无符号右移

    文章目录 原码.反码.补码 有符号右移>> 无符号右移>>> 有符号左移<< 总结有无符号 原码.反码.补码 正数 正数的原码.反码.补码都是该数字的二进制表 ...

  3. Java负整数的左移、右移、无符号右移

    Java负整数的左移.右移.无符号右移.正数的位移没有涉及到符号,而且正数的原码.反码.补码都是一样的,所以相对简单,但是对于负整数的位移,往往容易混淆. Java的<<  >> ...

  4. [转载]C++ 中有符号类型到无符号类型的转换(C和C++程序员面试秘笈P9面试题6)...

    本文复制自https://blog.csdn.net/abnerwang2014/article/details/20656423,是为了自己以后查看方便才复制过来的,谢谢原博主. 为了更好地解释下面 ...

  5. 负数时的有符号整型和无符号整型的转换

    目录 一.补码 二.负数时的有符号整型和无符号整型的转换 三.关于无符号的笔试题 一.补码 有符号数在计算机中存储,用数的最高位存放符号, 正数为0, 负数为1 例如:有符号数 1000 0011,其 ...

  6. 有符号拓展:signed-extending无符号拓展:unsigned-extending

    符号拓展 拓展意义 举个栗子 有符号拓展:signed-extending&无符号拓展:unsigned-extending 拓展意义 符号拓展的意义是产生位数拓展,数值不变的的结果.常见于不 ...

  7. C语言 有符号类型转换为无符号类型

    C语言中变量的类型变换比较多,有些地方需要时刻注意,不然很可能写出带有bug的代码并深埋入系统,难以察觉. 例如 有符号类型和无符号类型运算,有符号类型转换为无符号类型. 需要注意的有两种情况: 1. ...

  8. C语言中无符号整型变量赋值负数,负数时的有符号整型和无符号整型的转换

    目录 一.补码 二.负数时的有符号整型和无符号整型的转换 三.关于无符号的笔试题 一.补码 有符号数在计算机中存储,用数的最高位存放符号, 正数为0, 负数为1 例如:有符号数 1000 0011,其 ...

  9. 【汇编优化系列】关于符号扩展和无符号扩展(包括mips msa实现)

    DATE: 2021.11.26 文章目录 前言 1.参考 2.符号扩展和无符号扩展 含义 3.举例说明 4.mips msa相关指令 前言 在mips msa intrinsic工程优化过程中,遇到 ...

  10. C++有符号整型和无符号整型的区别

    C++有符号整型和无符号整型的区别 C++中的整型分为有符号类型整型和无符号类型整型,区别如下. 在有符号类型中:最左边的位是符号位,余下的位是数值位.符号位为1,代表负数:符号位为0,则为正数.例如 ...

最新文章

  1. ef core中如何实现多对多的表映射关系
  2. 3 二分频verilog与Systemverilog编码
  3. layui table动态选中_微信炫酷炸啦!超视觉动态壁纸来了,还自带音效!
  4. DVWA 黑客攻防演练(十二) DOM型 XSS 攻击 DOM Based Cross Site Scripting
  5. 8款超级好用的3D建模软件上下篇
  6. 题目 1040: 实数的打印
  7. EasyExcel(一)导入excel的分析监听器
  8. 博弈论:帕累托最优与纳什均衡的联系和区别
  9. html class生效顺序,HTML5 CSS3小猪日历(动物挂历)
  10. Python|制作汉堡的解题方法
  11. java架构师全套图解,使用/教程/实例
  12. 电子血压仪器小程序开发制作
  13. Beosin(成都链安)预警:黑客攻击EOS竞猜类游戏 已获利数百EOS
  14. 2021-10-27 求方向盘转角
  15. 【微服务】如何实现微服务集群的高可靠?
  16. Java在线考试系统(含源码)
  17. Android System Server大纲之VibratorService
  18. foobar2000 1.1.10 用苹果新近开源的ALAC编码器很方便将APE、FLAC、WAV转无损m4a
  19. 限定学校|在站博士后省公派新加坡国立大学从事博后研究
  20. 如何设置设备ip,以及设置局域网

热门文章

  1. CodeForces - 510E Fox And Dinner(最大流+奇偶建边+路径打印)
  2. PyTorch-模型
  3. 线段树合并复杂度证明
  4. C++中基于Crt的内存泄漏检测
  5. 数据结构与算法 | 插值查找
  6. 抖音xgorgon04参数
  7. scrapy 设置随机UA
  8. docker学习笔记(六)docker-compose
  9. “新型肺炎患者同乘查询系统”上线,超2千万用户使用
  10. 175 道面试必考 Go 语言题目详细解答