原码:

最高位为符号位。。0代表正数 1 代表负数
+1:0000 0001
-1:1000 0001
+0:0000 0000
-0: 1000 0000

问题:
1.0这个数值在存储的时候,有2种存储方式
2.正数和负数相加的时候,结果不是我们所算出的结果(在计算机里面,只能做加法运算)

1-1 = 1 + -1

1: 0000 0001
-1:1000 0001
加法:10000010 = -2

反码:符号位不变,其他位进行0和1的对换(为补码做铺垫)

结论:正数的反码和原码、补码是一样的

+1 :0000 0001
-1 : 1000 0001
+0:0000 0000
-0: 1000 0000
-0的反码:1111 1111

反码
+1 : 0000 0001
-1 :1111 1110

加法运算 :1111 1111 = -0

解决:加法运算的结果问题

0的存储没有解决

补码:
1.补码就是在反码的基础上加1;
2.正数的反码和原码、补码是一样的

+1 :0000 0001
-1 :1000 0001
     1111 1110
     1111 1111

-0: 1000 0000
     1111 1111
    10000 0000
做加法:+1 + -1(补码)
 0000 0001
 1111 1111
      10000 0000 -0

+0 : 0000 0000
-0 : 0000 0000  
结论:解决了0的存储问题

最终:计算机的数据存储时以补码的方式进行存储。

转载于:https://www.cnblogs.com/wangjinshan/p/7056414.html

为什么计算机存储的是二进制补码?相关推荐

  1. 计算机存储二进制都是用补码,为什么计算机存储的是二进制补码?

    原码: 最高位为符号位..0代表正数 1 代表负数 +1:0000 0001 -1:1000 0001 +0:0000 0000 -0: 1000 0000 问题: 1.0这个数值在存储的时候,有2种 ...

  2. 计算机存储数值为什么使用补码?

    计算机存储数值为什么使用补码? 什么是原码,反码,补码? 原码,反码,补码是计算机对数字的二进制表示方法. 原码:将最高位作为符号位(0为正,1为负),其余位数用来表示此数字绝对值的大小. 反码:如果 ...

  3. 计算机存储为什么用二进制,计算机为什么使用二进制存储数据?

    这跟计算机的硬件有关,早期计算机的是由大量电子管,继电器,各种电气元件组成的,用电功率相当大,每小时用电约为140千瓦,有一定计算机知识的大概都知道其体积也相当庞大,并且想让计算机存储数据就要保持计算 ...

  4. 计算机存储数字,计算机是如何存储数字的

    计算机存储都是以补码的形式存储的.原因是简化计算机的基本运算电路,使加减法都可以用加法来进行运算. 整数: 原码: 原码就是一个数的二进制形式,只不过最高位是用来表示符号位. 例:+1  =  000 ...

  5. 整数、浮点数在计算机中的存储,-128二进制怎么表示,

    目录 1 计算机底层存储数据的基本原理 2 整数的存储 2.1 整数的基本概念 2.2 整数的编码方式 -128的二进制表示 3浮点数存储 3.1 二进制十进制间小数怎么转换 1 计算机底层存储数据的 ...

  6. 源码 反码 补码详解(为什么计算机存储数值为补码形式?)

    一. 机器数和真值 在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念. 1.机器数 一个数在计算机中的二进制表示形式,  叫做这个数的机器数.机器数是带符号的,在计算机用一个数的最高位存放 ...

  7. 原码、反码、补码,带你深入理解计算机的补码运算原理(附图片解说过程),为什么计算机中数据要以补码的形式存储呢?解释补码运算规则的合理性。

    一.为什么计算机中的数据以补码的形式存储? 计算机更擅长加法运算,减法运算是在计算机处理器的加法器的基础上而实现的,既然计算机更擅长加法运算,那么计算机的设计者当然就只能在加法器的基础上引入" ...

  8. 计算机采用二进制形式的表示,计算机部信息的表示及存储往往采用二进制形式,采用这种形式的最主要原因是...

    D 分析:计算机内部信息都是由"cpu"运算和控制处理的,其处理二进制的部件就是"ALU"(算术逻辑部件). B 分析:这个BCD码的全称是EBCDIC码,它同 ...

  9. 八位计算机最小二进制,八位二进制补码最小值

    好吧,小编虽然上个C++语言和VB语言基础,虽然那个爱笑的从国外留学回来的老师讲课很好很精彩,但无奈小编跟不上呀.所以下面是学习啦小编给大家总结的八位二进制补码最小值和二进制补码知识点. 八位二进制补 ...

最新文章

  1. 如何将算子添加到Relay
  2. F5 配置手册 -F5 BIG-IP 10.1-2-配置-基本参数
  3. latex文档基础知识
  4. linux音频时钟bclk,linux alsa音频中采样率fs、比特率BCLK 、主时钟MCLK关系
  5. js替换数组中字符串实例
  6. Java编程学习并不难,有坚持的动力与良好的心态尤为重要
  7. 200 switching to ascii mode_【图片】15005377957 三轮车载式液压打井机XYC-200A 型深水井钻机游走乡【地勘吧】...
  8. 笔试题目:定义一个类不能被继承,且只能被实例化3次 .
  9. 数据结构——二叉链表创建二叉树(C语言版)
  10. 小米8 微信支付 java_小米微信WAP支付SDK接入指南
  11. 【IDEA】IDEA XML注释与取消注释快捷键
  12. 车载多媒体没法显示歌词的解决办法 —— 修改 LRC 文件的编码格式为 UTF-8
  13. 智能制造:IntelligentSmart Manufacturing有何区别?
  14. mysql正则时间格式_用正则表达式校验时间格式的正确性
  15. 搜搜(www.soso.com),I 老虎油!
  16. html条形统计图,js实现条形统计图
  17. 蓝牙mesh- Features和设备类型
  18. 友情的目的和作为目的的友情
  19. vs运行程序时报错:“XXX处有未经处理的异常: 0xC0000374: 堆已损坏”
  20. C#版 - Leetcode 306. 累加数 - 题解

热门文章

  1. 转移的目的地址在指令中的jmp指令 转移地址在寄存器中的jmp指令
  2. C语言中变量的链接属性
  3. Ubuntu系统rm命令删除文件没有提示,怎么办?
  4. 【c语言 gcc9.1.0环境下编译报错】error: ‘true’ undeclared (first use in this function)
  5. SQLite数据库损坏与修复
  6. SpringBoot拦截器与过滤器
  7. 一文看懂Python(九)-----可变参数函数
  8. 操作系统(一)操作系统的概念、功能
  9. C语言再学习 -- Xargs用法详解
  10. 区块链 | 基础链 ICO 白皮书分析