为什么用补码编码有符号数的时候,正数补码比负数补码的表示范围少一个?

为什么用补码编码有符号数的时候,正数补码比负数补码的表示范围少一个?以八位字长举例 正数补码的表示范围 00000001 0 1 127 负数补码的表示范围 127 1 从上面的表示范围来看 正负数的表示范围是一样的 但是除此之外 以 0 和 1 开头的八位补码还有两个 00000000 和 可由于 00000000 用来表示了 0 用来表示 128 所以实际上是正数的表示范围会比负数少一个

以八位字长为例:

从区间0000 0001~0111 1111(1~127)和1000 0001~1111 1111(-127~-1)来看,正负补码的表示范围是一样的。

但是除此之外,以0和1开头的八位补码还有两个:0000 0000 和 1000 0000。可由于0000 0000用来表示了0,1000 0000用来表示-128,所以实际上是正数的表示范围会比负数少一个。

  • 八位正数补码的表示范围:0000 0001~0111 1111(1~127)
  • 八位负数补码的表示范围:1000 0000~1111 1111(-128~-1)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/218021.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午8:14
下一篇 2026年3月18日 上午8:14


相关推荐

  • [331]python之requests的基本使用

    [331]python之requests的基本使用Requests 是用 python 语言基于 urllib 编写的 采用的是 Apache2Licen 开源协议的 HTTP 库 Requests 它会比 urllib 更加方便 可以节约我们大量的工作

    2026年3月19日
    2
  • php中 instanceof有什么作用

    php中 instanceof有什么作用

    2021年10月17日
    47
  • 配置PLSQL连接ORACLE数据库

    配置PLSQL连接ORACLE数据库设置 plsql 运行环境第一步首先安装 oracleclient 客户端 按默认安装第二步配置环境变量 右键 我的电脑 属性 高级系统设置 打开系统属性 依次点击 高级 环境变量 打开环境变量配置对话框在系统变量中点击 新建 输入 ORACLE HOME 值为安装路径 D Oracle InstantClien 第三步配置 tnsnames ora 文件内容 找到该文件目录 一般在装目录下搜索即可找到 这里使用本机配置举例 ORCL 为自定义的连接名称

    2026年3月19日
    3
  • Log4net用法

    Log4net用法日记是我们在程序中经常用到的,故记于此首先要下载Log4net.dll官方网站:http://logging.apache.org/log4net/vs里创建一个c#控制台程序,在App.con

    2022年7月2日
    28
  • idea正则替换小技巧「建议收藏」

    idea正则替换小技巧「建议收藏」相信很多idea开发的人都遇到过要替换某些拷贝的内容然后转换成自己的注释,但是一个一个替换又太麻烦,正则替换这时就是快速解决的办法。如下面图所示这个java类里面的属性就是mybatis的自动生成,带了很多注释,但如果想换成swagger来展示给前端看的时候就需要替换成下面的样子。想要做到这一步只需要执行下面的正则就行。首先点击打开替换窗口,idea原生快捷键按CTRL+R就行,全…

    2026年4月15日
    6
  • 一个全心全意帮助程序猿跳槽的创业者「建议收藏」

    一个全心全意帮助程序猿跳槽的创业者

    2022年1月26日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号