在机器码中,通常在最左边添加一个不参与运算的符号位,用0表示正号“+”,1表示负号“-”

“◇”表示小数点位置,不占位

小数二进制的转换是小数部分每次乘以2然后取结果的整数部分,如0.5*1 = 1.0,就取1,后面没有了就不用再计算,但这里因为机器字长n为8,所以再补上6个0

设机器字长n为8,首位为符号位,不参与运算

各类机器码参考如下举例

原码

[ + 1 ] 原 = 00000001 [+1]_原 = 00000001 [+1]原​=00000001
[ − 1 ] 原 = 10000001 [-1]_原 = 10000001 [−1]原​=10000001

[ + 127 ] 原 = 01111111 [+127]_原 = 01111111 [+127]原​=01111111
[ − 127 ] 原 = 11111111 [-127]_原 = 11111111 [−127]原​=11111111

[ + 45 ] 原 = 00101101 [+45]_原 = 00101101 [+45]原​=00101101
[ − 45 ] 原 = 10101101 [-45]_原 = 10101101 [−45]原​=10101101

[ + 0.5 ] 原 = 0 ◇ 1000000 [+0.5]_原 = 0◇1000000 [+0.5]原​=0◇1000000
[ − 0.5 ] 原 = 1 ◇ 1000000 [-0.5]_原 = 1◇1000000 [−0.5]原​=1◇1000000


反码

正数的反码与原码相同

负数的反码是除了符号位,其余位按位取反(简单来说就是除了左边第一位,其余位的1变成0,0变成1)

[ + 1 ] 反 = 00000001 [+1]_反 = 00000001 [+1]反​=00000001
[ − 1 ] 反 = 11111110 [-1]_反 = 11111110 [−1]反​=11111110

[ + 127 ] 反 = 01111111 [+127]_反 = 01111111 [+127]反​=01111111
[ − 127 ] 反 = 10000000 [-127]_反 = 10000000 [−127]反​=10000000

[ + 45 ] 反 = 00101101 [+45]_反 = 00101101 [+45]反​=00101101
[ − 45 ] 反 = 11010010 [-45]_反 = 11010010 [−45]反​=11010010

[ + 0.5 ] 反 = 0 ◇ 1000000 [+0.5]_反 = 0◇1000000 [+0.5]反​=0◇1000000
[ − 0.5 ] 反 = 1 ◇ 0111111 [-0.5]_反 = 1◇0111111 [−0.5]反​=1◇0111111


补码

(注:考虑到计算的方便性,计算机系统中,数值一律用补码表示)
正数的补码与其原码和反码相同

负数的补码等于其反码末尾加1(1+1=0并且向前进一位,也就是前面的一位也要+1;1+0=1;0+0=0)
[ + 1 ] 补 = 00000001 [+1]_补 = 00000001 [+1]补​=00000001
[ − 1 ] 补 = 11111111 [-1]_补 = 11111111 [−1]补​=11111111

[ + 127 ] 补 = 01111111 [+127]_补 = 01111111 [+127]补​=01111111
[ − 127 ] 补 = 10000001 [-127]_补 = 10000001 [−127]补​=10000001

[ + 45 ] 补 = 00101101 [+45]_补 = 00101101 [+45]补​=00101101
[ − 45 ] 补 = 11010011 [-45]_补 = 11010011 [−45]补​=11010011

[ + 0.5 ] 补 = 0 ◇ 1000000 [+0.5]_补 = 0◇1000000 [+0.5]补​=0◇1000000
[ − 0.5 ] 补 = 1 ◇ 1000000 [-0.5]_补 = 1◇1000000 [−0.5]补​=1◇1000000

总结:在计算机器码时,首先判断符号是正还是负,然后写出其原码,正数的反码、补码和原码都是一样的,所以只需要记住负数的反码和补码计算方式即可

记忆:先反再补,负数反码按位取反、负数补码为反码末尾+1(符号位始终不变)

如有错误,欢迎评论留言指正

机器码中的原码,反码,补码计算规则相关推荐

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

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

  2. 二进制、八进制、十六进制和十进制的相互转换,原码反码补码计算以及Java中数字的存储

    1. Java中数字默认是十进制,二进制.八进制以及十六进制的表示如下 2. 二进制.八进制.十六进制和十进制的相互转换 2.1 为了不累赘描述,本文以百度的二进制小数转换为十进制小数为例,如下图 2 ...

  3. c语言中的原码反码补码,c语言中的原码 反码 补码

    陈独秀的秘密 所谓原码就是前面所介绍的二进制定点表示法,即最高位为符号位,"0"表示正,"1"表示负,其余位表示数值的大小. 反码表示法规定:正数的反码与其原码 ...

  4. (转)java 原码反码补码计算 以及 取反运算,原码反码补码运算公式

    [README] 转自: https://www.zhangshilong.cn/work/289454.html 1. 原码.反码.补码: (1)在Java中,所有数据的表示方式都是以补码形式来表示 ...

  5. 原码 反码 补码 计算

    概念了解: 对于一个数值,计算机使用一定的编码方式进行存储,原码,反码,补码是机器存储一个具体数字的编码方式. 1,原码 第一位为符号位,其余位表示值,正数符号位取反为负数. 如果是8位二进制: [+ ...

  6. 原码 反码 补码的简单计算附例题

    原码 反码 补码 对计算机中常见数据简单分类 机器数 与 真值 原码 反码 补码 扩展 对计算机常见数据的分类 机器数 就是数值在计算机中的二进制表现形式 机器数在计算机中有符号,使用 最高位表示符号 ...

  7. c语言原码 补码 反码,C语言 原码--反码--补码

    //原码,反码,补码 #include #include //数值的表示方法--原码.反码和补码 //原码:最高位为符号位,其余各位为数值本身的绝对值 //反码: //正数:反码与原码相同 //负数: ...

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

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

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

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

  10. 机器码 原码 反码 补码

    一个具体的数值在计算机内存中是以补码的形式存储的, 用补码存储的优点: 1.没有+0 和 -0 之分  都是0000 0000 2.使用补码,最高位的符号位可以当作普通的数值位来运算,会简化cpu的设 ...

最新文章

  1. 单目深度估计学习笔记
  2. dft变换的两幅图_快速傅里叶变换FFT计算方法 原理及公式
  3. android studio 使用SVN 锁定文件,防止别人修改(基于Android studio 1.4 )
  4. hbase操作,创建命名空间,创建hbase表,添加数据,删除数据,通过RowKey获取数据,扫描数据,获取所有的表,获取ColumnFamily,删除表,获取hbase命名空间
  5. java中各种流的详细使用
  6. Haproxy+多台MySQL从服务器(Slave) 实现负载均衡
  7. 中国连续十年成马来西亚最大贸易伙伴
  8. String的内存分配与拼接操作,华为架构师深入讲解Java开发
  9. ppt转html5 带动画_这组PPT设计,真的太漂亮了!
  10. 基于Starling移动项目开发准备工作
  11. Linux大棚命令记录
  12. WPF中使用Chart控件
  13. 开发完微信小程序后,怎样做好微信小程序运营?
  14. 浏览器看视频,加速脚本
  15. 基于51单片机自行车码表霍尔测速里程显示超速报警方案原理图设计
  16. Aardio 第一天:使用虚表和适配器+试融合Java
  17. 学大伟业Day1解题报告
  18. 图标(ico,cur)文件的结构解析
  19. js将字符串转换成数字的四种方法
  20. PHP学习----换行符

热门文章

  1. 跨学科交叉(3)TriZ创新方法
  2. 反射弧包括那些组成部分_反射弧的组成部分包括
  3. 驰骋工作流集团行政流程,精美开发者表单系列部分展示,工作流,好引擎,驰骋造
  4. TortoiseGit安装报错
  5. linux下安装checkra1k
  6. KeyBert关键词提取 :原理、方法介绍、代码实践
  7. Lwip网口接口netif
  8. mathematica--求偏导
  9. python 离散化_python 离散化
  10. 机器学习真能产生智能决策吗?