目录

1.前言
2.机器数
3.真值
4.原码
5.反码
6.补码

1.前言

上篇博文中,笔者介绍了计算机存储器存储容量大小的常用单位 。在未来,我们还会接触到各种各样的数据类型,并且这些数据在运算的过程中会占用电脑的内存。而参与计算机运算的数,从根本上来讲有两大类:有符号数和无符号数。那么计算机如何去判断一个有符号数的正负呢?这就需要我们对机器数、真值、原码、反码和补码有所了解(网上也有许多质量优秀的教程,笔者在此仅作总结归纳)。

2.机器数

机器数 英文名 computer number 。它是将符号 “数字化” 的数,是数字在计算机中的二进制表示形式(存在正负之分)。在一串二进制码中,用最高位来表示正负,“0” 代表正、“1” 代表负。

例:二进制码 0111,最高位(左边第一个红色数字,也叫符号位)用来表示符号的正负,由 “0”可知该数的符号为正,所以二进制码 0111 转换成十进制为 7。同理,二进制码 1111 转换成十进制为 -7。二进制码 001001转换成十进制为 9。而以上的 0111 、1111 和 01001 就是机器数。

拓展:机器数的2个特点:

①符号数字化(即“0” 代表正、“1” 代表负)。

②大小受机器字长的限制。

3.真值

真值 就是机器数所对应的真实的值。因为机器数的最高位(符号位)只用来判断符号的正负,得到的并不是表面上展现的值(形式值),所以需要借助 真值 来表示它实际的值。

例:二进制码 1111 不考虑最高位(符号位)用来判断正负,其值转换成十进制应该是15(形式值),实际上最高位(符号位)用来判断正负,所以它转换成十进制的真值应该是 +7,而不是15。同理:0000 0001的真值 = +000 0001 = +1,1000 0001的真值 = –000 0001 = –1。综上所述,带符号位的机器数所对应的真正数值,也可称为机器数的真值。

4.原码

原码 是一种计算机中对数字的二进制定点表示方法,是最简单的机器数表示法。用最高位表示符号即(“0” 代表正、“1” 代表负),其他位存放该数的二进制的绝对值。

例: 用8位二进制表示一个数,+11 的原码为 00001011,-11 的原码就是 10001011。

拓展:原码的特点:

①原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为 0,负数该位为 1(0有两种表示:+0 和 -0),其余位表示数值的大小。

②原码不能直接参加运算,可能会出错。因为原码最大的问题就在于一个数加上他的相反数不等于零。例如:0001+1001=1010 (1+(-1)=-2) 0010+1010=1100 (2+(-2)=-4)。

5.反码

反码 是数值存储的一种,多应用于系统环境设置。它的表示方式为:正数的反码是其本身(原码),负数的反码就是他的原码除符号位之外,按位取反。

例: [+1] = [00000001]原 = [00000001]反
            [-1] = [10000001]原 = [11111110]反

6.补码

补码 是用来解决负数在计算机中的表示问题的。它的表示方法是:
正数的补码就是其本身(原码),负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1. (即在反码的基础上+1)

例:[+1] = [00000001]原 = [00000001]反 = [00000001]补
            [-1] = [10000001]原 = [11111110]反 = [11111111]补

拓展:为什么要使用原码、反码和补码?

简言之,简化电脑运算,使之不出错。

—————————END————————— 往期回顾

★C语言学习1:从下载编译软件开始!DEV-C++、VC6.0、VS2010、VS2017等编译器的下载(Windows系统)

★C语言学习2:Hello World!详解

★C语言学习3:常量、变量和数据类型

★C语言学习4:Bit、Byte、KB、MB、GB、TB、PB简述及单位换算

C语言学习5:机器数、真值、原码、反码和补码详解相关推荐

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

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

  2. 计算机真值范围,计算机的机器数,真值,原码, 反码和补码

    机器数 一.数的符号数值化.实用的数据有正数和负数,由于计算机内部的硬件只能表示两种物理状态(用0和1表示),因此实用数据的正号"+"或负号"-",在机器里就用 ...

  3. 计算机原码、反码、补码详解

    注:之前查找了关于原码.反码.补码的相关资料,张子秋的博客:原码, 反码, 补码 详解讲的比较透彻.为了方便,现将其转载至此,版权归原作者所有.更加深入的分析,可以参考作者的原文. 本文大部分内容来源 ...

  4. 原码,反码,补码详解及原理

    原码,反码,补码详解及原理 原码  原码:在数值前直接加一符号位的表示法. 例如: 符号位 数值位 byte的取值范围 [+7]原= 0 0000111 B[-7]原= 1 0000111 B 注意: ...

  5. 真值、机器数、原码、补码、反码详解(你想知道的全都有!)

    计算机组成原理中的数值表示法 真值 机器数 原码 反码 补码 真值 在日常的书写习惯中,往往用正.负号加绝对值表示数值,用这种形式表示的数值为真值. 简单来说 真值 就是我们平时用的数本身 机器数 在 ...

  6. 机器数,原码,反码,补码,移码

    |   版权声明:本文为博主原创文章,未经博主允许不得转载. 在计算机中所有的数据的保存均是用二进制来实现的,而二进制的表示则是一串的0,1组成.而在计算机的表达中有着机 器数和原码,反码,补码和移码 ...

  7. c语言 原码反码和补码

    计算机系统使用的基本上是二进制系统,数据在计算机中主要是以补码的形式存储的. 原码 一个数的原码(原始的二进制码)有如下特点: 1.最高位做为符号位,0表示正,为1表示负 2.其它数值部分就是数值本身 ...

  8. 真值 原码 反码 补码

    计算机中只能做加法运算,它的减法是通过加法来实现的 原码,反码,补码的产生过程,就是为了解决计算机做减法和引入符号位的问题 真值 正数或负数的真值 → 为其绝对值对应的二进制数前面加上正号或负号 例如 ...

  9. java用的原码还是反码_java 原码 反码 和补码

    --------- 原码.补码.反码 计算机是数字电路设备,由复杂的电子元器件组合而成,一个电子元器件在工作时,可以分为两种状态--高电平和低电平,表示数据用高电平表示1,低电平表示0,而多个电子元器 ...

  10. 原码、反码、补码详解

    文章转自: http://c.biancheng.net/ 文章目录 1. 原码 2. 反码 3. 补码 4. 补码到底是如何简化硬件电路的 5. 实例分析 1. 原码 将一个整数转换成二进制形式,就 ...

最新文章

  1. oozie调度中的重试和手工rerun一个workflow
  2. 学习flask的网址
  3. golang 代码安全审计
  4. 62 Celery远程调用
  5. Java中getMessage()和printStackTrace方法
  6. 6000字,详解数据仓库明星产品背后的技术奥秘
  7. android 信号强度变化,Android监听WIFI网络的变化并且获得当前信号强度
  8. 对话阿里云叔同:释放云价值,让容器成为“普适”技术
  9. php获取jsp的session的值,在JSP或Servlet中获取session数量
  10. 【Flink】flink1.11报错No ExecutorFactory found to execute the application
  11. 【报告分享】2021年品牌CDP与营销数字化转型报告.pdf(附下载链接)
  12. 微软拆分 VS Code 中 Python 扩展,部分功能可独立下载
  13. View的复用:viewHolder
  14. java随机百分比_java随机百分比
  15. Json与List、Map、entity的互相转化
  16. oracle删sequen,sequen是什么意思
  17. 对比 GA 、PSO 、DE三种算法 求解连续优化问题的性能
  18. 【NAS】群晖使用自带DDNS实现外网访问
  19. 关于objectArx /CAD二次开发中“绘制点、线、圆、圆弧、多段线、矩形、文字等”
  20. Matlab2019 slrt(XPC)目标机U盘启动

热门文章

  1. 冯诺依曼 计算机名言,约翰·冯·诺伊曼留给我们的名言之二
  2. 查看HP小型机各种信息的命令集
  3. pdfbox 转图片中文乱码处理
  4. 傲梅分区助手坑我哭了很久
  5. python就业前景不好_Python就业前景好吗?女生适合吗?
  6. ASP.NET MVC5 网站开发实践
  7. JavaEE 从入门到放弃
  8. java castor_利用Castor自动生成java文件
  9. 串管理——鸟友们快来看啊——看清楚点
  10. ios,关于“按住说话”这个按钮的一个奇葩问题