• 普遍地说,特定的汇编语言和特定的机器语言指令集是一 一对应的不同平台之间不可直接移植
  • 一个数在计算机中的二进制表示形式,  叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1.
  • 因为第一位是符号位,所以机器数的形式值就不等于真正的数值。所以,为区别起见,将带符号位的机器数对应的真正数值称为机器数的真值。
  • 原码

    原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位二进制:

    [+1]原 = 0000 0001

    [-1]原 = 1000 0001

    第一位是符号位.      因为第一位是符号位, 所以8位二进制数的取值范围就是:

    [1111 1111 , 0111 1111]

    [-127 , 127]

  • 反码

    反码的表示方法是:

    正数的反码是其本身

    负数的反码是在其原码的基础上, 符号位不变,其余各个位取反.

    [+1] = [00000001]原 = [00000001]反

    [-1] = [10000001]原 = [11111110]反

    可见如果一个反码表示的是负数, 人脑无法直观的看出来它的数值. 通常要将其转换成原码再计算.

  • 补码

    补码的表示方法是:

    正数的补码就是其本身

    负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)

    [+1] = [00000001]原 = [00000001]反 = [00000001]补

    [-1] = [10000001]原 = [11111110]反 = [11111111]补

    对于负数, 补码表示方式也是人脑无法直观看出其数值的. 通常也需要转换成原码在计算其数值.

  • 既然原码才是被人脑直接识别并用于计算表示方式, 为何还会有反码和补码呢?

    首先, 因为人脑可以知道第一位是符号位, 在计算的时候我们会根据符号位, 选择对真值区域的加减. (真值的概念在本文最开头). 但是对于计算机, 加减乘数已经是最基础的运算, 要设计的尽量简单. 计算机辨别"符号位"显然会让计算机的基础电路设计变得十分复杂! 于是人们想出了将符号位也参与运算的方法. 我们知道, 根据运算法则减去一个正数等于加上一个负数, 即: 1-1 = 1 + (-1) = 0 , 所以机器可以只有加法而没有减法, 这样计算机运算的设计就更简单了.

  • 正数的原、反、补码都一样:0的原码跟反码都有两个,因为这里0被分为+0和-0
  • 0的补码是唯一的,如果机器字长为8那么[0]补=00000000
  • 移码最简单了,不管正负数,只要将其补码的符号位取反即可。

计算机组成原理1--原码、反码、补码、移码之间的关系相关推荐

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

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

  2. 【计算机组成原理】原码 反码 补码 移码

    目录 一.原码.反码.补码.移码的概念 1. 真值 2. 机器数 1. 原码 2. 反码 3. 补码 4. 移码 二.原码.反码.补码.移码的转换 1. 原码转反码 2. 原码转补码 3. 原码转移码 ...

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

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

  4. 原码 反码 补码三者之间的关系

    一.概念: 在计算机系统中,数值一律用补码来表示和存储.原因在于,使用补码,可以将符号位和数值域统一处理:同时,加法和减法也可以用补码统一处理. 原码:使用二进制表示,二进制首位是符号位,0为正,1为 ...

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

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

  6. 计算机组成原理——关于原码、补码、移码运算及浮点数运算的总结

    计算机组成原理--关于原码.补码.移码运算及浮点数运算的总结 一.数的表示法 1.1 原码 [X]原码={X0≤X≤2n−1−12n−1+∣X∣−(2n−1−1)≤X≤0[X]_{原码}= \left ...

  7. [例题详解]真值 机器数概念 | 原码 反码 补码 移码 概念及加减计算

    目录 真值和机器数 原码 反码 补码 移码 对比记忆 | 原 反 补 移码 加减法 | 原码 补码 结语 | 大学生学习复习资料 真值和机器数 真值:-5.+10 机器数(带符号数)(= 符号位 [0 ...

  8. 原码, 反码, 补码, 移码 详解

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

  9. 【软考学习2】数据表示——原码 反码 补码 移码

    原码 反码 补码 移码是软考必考的项目,所以需要对其概念.计算方式和取值范围进行总结. 零.使用场景 原码 反码 补码 移码都是计算机中表示数据的方式,各有所长,对于我们来说,都需要加以学习. 软考中 ...

  10. 原码 反码 补码 移码

    原码 反码 补码 移码 在计算机内,机器数分为无符号数和有符号数 无符号数表示正数 没有符号位 原码:最高位为符号位 正数为0 负数为1 反码:原码符号位不变 其余位取反 补码:反码+1 移码:反码的 ...

最新文章

  1. 春季学期第十一周作业
  2. 进程初识和multiprocessing模块之Process
  3. 【图像分割模型】全局特征与局部特征的交响曲—ParseNet
  4. 《Abaqus GUI程序开发指南(Python语言)》——2.5 动态类型简介
  5. 新浪微博-企业微博运营手册
  6. ubuntu c++ 实现自动回车键功能_从X86到ARM,实现C和C++语言90% Code自动迁移
  7. 买卖股票的最佳时机含手续费
  8. live555学习笔记3-消息循环
  9. python爬虫设计模式_Python3网络爬虫(一):利用urllib进行简单的网页抓取
  10. 什么是冷区热区_墙角装个小柜子 冷区立马变热区 有颜值还实用!
  11. 三、JAVA流程控制(选择结构if、while、for、switch)
  12. esp_wifi_repeater, 全功能WiFi中继器
  13. google服务框架 闪退_刷入对应谷歌服务框架之后依然闪退怎么办 解决方方攻略...
  14. 最新消息:愚人节快乐!
  15. 285. 二叉搜索树中的中序后继
  16. word添加引用及自动更新的方法
  17. win10 添加打印机
  18. 给Web应用更换公众号步骤
  19. Android Verity Boot(AVB)初探
  20. Python的pandas简单操作

热门文章

  1. mysql查询优化技巧
  2. RocketMQ与kafka对比(18项差异)-转自阿里中间件
  3. BZOJ4238 : 电压
  4. C++指针初始化总结
  5. msm8953+android8.1接听电话时声音由默认听筒输出改为外放输出
  6. 使用Java代码在应用层获取Android系统属性
  7. android7.1增加一个开机自启动的bin应用遇到的权限问题
  8. 在WinCE 6.0系统下实现USB功能定制
  9. 苹果xsmax怎么开机_苹果XSMAX进水不开机维修
  10. 快速排序与合并排序的分而治之