计算机中的数据

  • 计算机中的数据
  • 有符号数据的表示
    • 定点数与浮点数
      • 定点数
      • 定点小数
      • 定点整数
    • 浮点数
    • 原码
    • 反码
    • 补码
  • 为什么存在原码,反码,补码

计算机中的数据

  • 计算机中的数据:分为数值数据和非数值数据
  • 数值数据:分为无符号数据(如我们的身份证号)和有符号数据(正数和负数)
  • 非数值数据:例如文字,图像,声音(如ASCII码)

有符号数据的表示

  • 符号:用0,1分别表示正,负号,放在最高位
  • 小数点(小数点均不占数位):
    定点数:约定小数点隐含在某一位置
    浮点数:小数点可以浮动

定点数与浮点数

定点数

即小数点的位置是固定不变的,根据小数点位置分为两种

定点小数

小数点隐含固定在最高数据位的左边,整数位用于表示符号位,用于表示纯小数

定点整数

小数点隐含固定在最低位的右边,最高位用于表示符号位,用于表示纯整数

浮点数

  • 小数点的位置由阶码规定,因此是浮动的。用来表示实数。
  • 在计算机中通常把浮点数N分成阶码和尾数两部分来表示
  • 表示形式:

    例如:
  • 因为小数点向左移动五位,所以阶码是5,写作2进制即为101
  • 在计算机中,约定基数为2,所以浮点数可以写作由阶码和尾数两个整数组成的数
    如:
  • 一般浮点数在机器中还需要表示阶码符号,尾数符号的符号位 ,即:

    示例:

原码

最高位表示数的符号,其他位表示数值

  • 最高位:0表示正号,1表示负号

反码

  • 正数的反码和原码相同
  • 负数的反码是:其原码的符号位不变,其余位按位取反


补码

  • 正数的补码与原码相同
  • 负数的补码是:其原码的符号位不变,其余位按位取反,再在最低位加1(可以这么计算)


为什么存在原码,反码,补码

首先,当前计算机数据是以补码为存储形式的。
原码就是早期用来表示数字的一种方式,可以直观的展示这个数的大小。但是原码在进行加减运算时,需要将符号位单独判断,不利于计算机运作,于是反码产生了。但是反码存在正负零的问题,于是产生了补码。补码可以很好的解决上述存在的问题,于是现在计算机对数据的存储采用补码的形式。

对补码来说 5-3 跟 5+(-3) 是相同的操作,而这两个式子本来就应该是等价的。所以补码才是最自然而合理的编码。
如果不用补码,就需要对加法和减法,正号跟负号设计若干种不同运算,大幅度降低了计算效率,增加了晶体管复杂度。

补码的详细解释

计算机中的数据(原码,反码,补码)相关推荐

  1. 计算机中的原码,计算机中的原码反码补码移码

    计算机中的原码反码补码移码 原码 数值 X 的原码记为 [X]原,如果机器字长为 n (即采用 n 个二进制位表示数据),则最高位是符号位,0 表示正号,1 表示负号,基余的 n~1 位表示数值的绝对 ...

  2. 关于计算机中 原码, 反码, 补码 详解

    本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希 ...

  3. 原码和补码在计算机中的应用,原码,补码和反码在计算机中的作用

    满意答案 xxyy5566123 2013.06.26 采纳率:58%    等级:12 已帮助:13466人 引入原码 反码 和补码的目的就是为了解决减法问题,因为计算机CPU的运算器中只有加法器, ...

  4. python二进制反码例题_python中的进制转换和原码,反码,补码

    python中的进制转换和原码,反码,补码 计算机文件大小单位 b = bit 位(比特) B = Byte 字节 1Byte = 8 bit #一个字节等于8位 可以简写成 1B = 8b 1KB ...

  5. 【濡白的C语言】数据的存储(大小端模式,原码反码补码,浮点数的存储,浮点型精度缺失的原因)

    前言 很多学习C语言之后就会对各种类型感到很烦,但是数据的类型具有相当的意义.首先是类型决定了大小,即该数据在内存中开辟的空间大小:同时不同的类型还决定了数据存储的方式,相同的数据,存入整形与浮点型方 ...

  6. 计算机组成原理——基本组成 进制转化 奇偶校验 原码 反码 补码 移码 移位 原码补码乘法除法 IEEE754 加法器ALU

    笔记来源于王道考研视频 第一章 通过电信号传递信息(低电平代表0,高电平代表1) 计算机系统 计算机系统=硬件+软件 软件 系统软件 应用软件 操作系统,数据库管理系统(DBMS),标准程序库(编程时 ...

  7. 大端 小端 原码 反码 补码 及内存中的表现

    小端 和 大端 在内存中存储时,都是从内存的低地址往高地址存,即0x00000000 -> 0xffffffff 以汉字 "严"为例,Unicode码是4E25,需要两个字节 ...

  8. 【计算机组成原理】原码 反码 补码 移码的转换

    原码 反码 补码 移码的转换 这三种机器码都是二进制数据的表现形式,可以表现正数和负数. 原码是可以直接表现出数据的正负和大小. 正数的原码.反码和补码都是相同的. 反码用于原码和补码的转换的功能. ...

  9. 进制之间的快速转换法:8421码及原码反码补码之间的相互转换关系

    进制之间的快速转换法: 十进制和二进制的指尖的快速转换法: 8421码,是BCD码的一种 二进制数据中的每个位上的1,都代表一个固定的数值,将固定的数值相加即可! 二进制: 1 1 1 1 1 1 1 ...

  10. day017:Java进制转换、原码反码补码、位运算、位移运算符

    一.进制介绍: 1.进制:指进位制,表示某一位置上的数,运算时是逢X进一. 十进制就是逢十进一,二进制就是逢二进一,八进制就是逢八进一. 2.Java中默认的数值都是十进制,如果要输入其他进制,在数值 ...

最新文章

  1. rust矿洞绳子怎么爬下_车底下绑一根绳子妙用在哪?看看老司机怎么说!
  2. Vue组件的三种调用方式
  3. 解决LaTex中插入Visio画图有多余边框的问题
  4. error: ‘to_string’ is not a member of ‘std’———已解决
  5. 数据结构的简单理解(3)
  6. idea怎么直接拉去git_如何将GitHub上面的项目拉取到IDEA中
  7. centos7 编译安装 python3.5
  8. linux常用命令速查手册
  9. System.IO命名空间
  10. 算法面试java_面试必备——java算法面试题
  11. 2021-03-12
  12. 高手进阶,终极内存技术指南——完整/进阶版 I
  13. 入门级元宇宙AR avatar制作教程
  14. vp230引脚功能_CAN收发器—TJA1040与TJA1050区别
  15. Android WIFI认证方式
  16. wxpython wx.Destroy()和wx.Close()区别
  17. 如何用 XMind 做商业计划书?
  18. chromedriver与chrome浏览器各版本对应下载
  19. MySQL运维进阶必备
  20. Java个人知识点笔记总结

热门文章

  1. 【电子设计大赛】2017 年全国大学生电子设计竞赛 仪器和主要元器件清单
  2. Nebula Graph - SpringBoot 操作 Nebula
  3. gg修改器修改内购_僵尸炮艇生存修改金币教程
  4. PAT 1006 解析
  5. 用计算机语言说我累了,我累了,真的好累(读到心酸)
  6. 《天才在左疯子在右》读后感
  7. python 大括号嵌套,分析嵌套的大括号/方括号组
  8. 靠!我被项目经理和同事嘲笑了,因为不会远程debug调试...
  9. FeedDemon不能同步google reader的问题
  10. 男人的消费观连狗都不如