什么是计算机补码_二进制原码反码补码

什么是计算机补码_二进制原码反码补码计算机中数字都是用二进制来表示的,有三种编码方式:原码、反码、补码,而计算中用到最多的就是补码,原因是什么呢?让我们来看一下这三种方式的具体表示吧原码原码的表达很简单,最高位为符号位,0表示正数,1表示负数。其它位即为绝对值的二进制表示,非常直观。但是使用原码存在哪些问题呢?0的表示存在二义性如果按照上述的表示方式,那么0就可以分为+0和-0两种表示。即以8位字长来说+0的原码为00000000…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

计算机中数字都是用二进制来表示的,有三种编码方式:原码、反码、补码,而计算中用到最多的就是补码,原因是什么呢?让我们来看一下这三种方式的具体表示吧

原码

原码的表达很简单,最高位为符号位,0表示正数,1表示负数。其它位即为绝对值的二进制表示,非常直观。但是使用原码存在哪些问题呢?

0的表示存在二义性

如果按照上述的表示方式,那么0就可以分为+0和-0两种表示。即以8位字长来说 +0的原码为00000000,-0的原码为10000000,这两种表示都对应0,这样在计算机判断0时就会带来一些麻烦。

进行运算时符号需单独处理

例如要计算一个 8 + (-5),就要先计算最后的结果的符号,那么需要比较两个数的绝对值,在根据两个数的符号来确定。

反码

反码只是原码与补码的一个中间结果,它并没有什么实际用途。负数的反码为在原码的基础上,除符号位均取反。例如-8的原码为10001000,而反码则为111101111

补码

补码是有反码+1得到的,那么这个补码有什么神奇的地方呢?我们先要考虑一个概念:取模运算。一般来说,取模称之为mod,在java中 用%号来表示。例如 5 %2 = 1。

现在有一个问题,一周中星期四的前三天是星期几?我们可以把一周7天用1-7来表示,那么星期四的前三天可以表示为 4 -3 = 1 ,那么星期四之后四天还是星期一,那么我们可以表示成 4+4 = 1,为什么有4+4 = 1,因为4+4 = 8,大于7之后又是一个新的循环,所以实际上应该写成 (4+4)%7 = 1,所以可以看到-3和4 是补数。

所以可以看出,补码可以简化加减法运算,而符号位也可以直接参与运算,不必单独计算符号位。而至于0的表示则只有00000000一种,自然这种编码方式是最优解了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Docker 常用命令!还有谁不会?[通俗易懂]

    Docker 常用命令!还有谁不会?

    2022年2月19日
    41
  • Xray写POC插件

    Xray写POC插件漏洞环境https://www.vulnhub.com/https://github.com/vulhub/vulhubhttps://github.com/QAX-A-Team/WeblogicEnvironment启用、关闭命令#启用环境docker-composeup-d环境关闭docker-composedown查看WEB应用容器root@…

    2022年5月7日
    180
  • 分享一个免费的图片去水印网站[通俗易懂]

    分享一个免费的图片去水印网站[通俗易懂]一、软件截图二、操作说明1、先上传图片2、点击选择区域,在图片上选择要去水印的区域,可支持同时选择多个区域。3、点击开始去水印4、保存去水印的图片到本地。5、如果不满意可再次选择。三、免费体验地址http://121.196.27.184:8080/…

    2025年7月14日
    7
  • jmeter-实现跨线程组之间传递参数

    jmeter-实现跨线程组之间传递参数

    2021年9月18日
    60
  • 关于balun的一些仿真和思考[通俗易懂]

    关于balun的一些仿真和思考[通俗易懂]关于balun的一些仿真和思考1、错误的初始设计,电路图如下:2、来看看ADS里,理想balun的仿真结果3、将原电路的50ohm并接在balun的差分端,而非单端,再看看仿真结果。4、那么为什么出现上述情况呢?5、我们应该如何去做呢?6、总结:如有错误,还请留言区指出~为了提高共模抑制能力,很多芯片的输入输出口会设计成差分口,在射频电路中也是如此。最近在项目测试中,一个关于balun的问题困扰了我很久,迟迟没有想明白。我爸说:“当一个问题你久久思考却毫无头绪时,你就暂时放一放。也许有天突然开窍,你就想

    2025年8月1日
    4
  • 大话信号与系统 — 奇文共欣赏[通俗易懂]

    大话信号与系统 — 奇文共欣赏[通俗易懂]大话信号与系统前言:大家都知道《信号与系统》是一门很难的课,很多人虽然学过了,但其实什么也没得到,今天给大家推荐这篇文章,看了之后,相信你会有收获。第一课什么是卷积?卷积有什么用?很多朋友和我一样,工科电子类专业,学了一堆信号方面的课,什么都没学懂,背了公式考了试,然后毕业了。先说”卷积有什么用”这个问题。(有人抢答,”卷积”是为了学习”信号与系…

    2022年8月11日
    9

发表回复

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

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