机器数

一、数的符号数值化。实用的数据有正数和负数,由于计算机内部的硬件只能表示两种物理状态(用0和1表示),因此实用数据的正号“+”或负号“-”,在机器里就用一位二进制的0或1来区别。通常这个符号放在二进制数的最高位,称符号位,以0代表符号“+”,以1代表符号“-”。因为有符号占据一位,数的形式值就不等于真正的数值,带符号位的机器数对应的数值称为机器数的真值。 例如二进制真值数-011011,它的机器数为 1011011。

二、二进制的位数受机器设备的限制。机器内部设备一次能表示的二进制位数叫机器的字长,一台机器的字长是固定的。字长8位叫一个字节(Byte),现在机器字长一般都是字节的整数倍,如字长8位、16位、32位、64位。

真值

因为有符号占据一位,数的形式值就不等于真正的数值,带符号位的机器数对应的数值称为机器数的真值。 例如二进制真值数-011011,它的机器数为 1011011。

机器数的分类

根据小数点位置固定与否,机器数又可以分为定点数和浮点数。 通常,使用定点数表示整数,而用浮点数表示实数。整理如下:

(1)整数

认为整数没有小数部分,小数点固定在数的最右边。整数可以分为无符号整数和有符号整数两类。无符号整数的所有二进制位全部用来表示数值的大小;有符号整数用最高位表示数的正负号,而其他位表示数值的大小。例如十进制整数-65的计算机内表示可以是11000001。

(2)实数

实数的浮点数表示方法是:把一个实数的范围和精度分别用阶码和尾数来表示。在计算机中,为了提高数据表示精度,必须唯一地表示小数点的位置,因此规定浮点数必须写成规范化的形式,即当尾数不为0时,其绝对值大于或者等于0.5且小于1(注:因为是二进制数,要求尾数的第1位必须是1).例如设机器字长为16位,尾数为8位,阶码为6位,则二进制实数-1101.010的机内表示为0000100111010100。

机器数与真值

不带符号的数是数的绝对值,在绝对值前加上表示正负的符号就成了符号数。直接用正号“+”和负号“-”来表示其正负的二进制数叫做符号数的真值。在计算机中不仅用0,1编码的形式表示一个数的数值部分,正、负号亦同样用0,1编码表示。把符号数值化以后,就能将它用于机器中。我们把一个数在机器内的表示形式称为机器数。而这个数本身就是该机器数的真值。“01101”和“11101”是两个机器数,而它们的真值分别为+1101和-1101。

机器数的原码、反码和补码三种形式

原码

将数的真值形式中“+”号用“0”表示,“-”号用“1”表示时,叫做数的原码形式,简称原码。若字长为n位,原码一般可表示为:

(1)当X为正数时[X]原和X一样,即[X]原 = X。当X为负数时 。由于X本身为负数,所以,实际上是将∣X∣数值部分绝对值前面的符号位上写成“1”即可。

原码表示法比较直观,它的数值部分就是该数的绝对值,而且与真值、十进制数的转换十分方便。但是它的加减法运算较复杂。当两数相加时,机器要首先判断两数的符号是否相同,如果相同则两数相加,若符号不同,则两数相减。在做减法前,还要判断两数绝对值的大小,然后用大数减去小数,最后再确定差的符号,换言之,用这样一种直接的形式进行加运算时,负数的符号位不能与其数值部分一道参加运算,而必须利用单独的线路确定和的符号位。要实现这些操作,电路就很复杂,这显然是不经济实用的。为了减少设备,解决机器内负数的符号位参加运算的问题,总是将减法运算变成加法运算,也就引进了反码和补码这两种机器数。

反码

如前所述,为了克服原码运算的缺点,采用机器数的反码和补码表示法。若字长为n位,反码可表示为:

(2)即对正数来说,其反码和原码的形式相同;对负数来说,反码为其原码的数值部分各位按位取反。

补码

补码是根据同余的概念引入的,我们来看一个减法通过加法来实现的例子。假定现在是北京时间6点整,有一只手表却是8点整,比北京时间快了2小时,校准的方法有两种,一种是倒拨2小时,一种是正拨10小时。若规定倒拨是做减法,正拨是做加法,那么对手表来讲减2与加10是等价的,也就是说减2可以用加10来实现。这是因为8加10等于18,然而手表最大只能指示12,当大于12时12自然丢失,18减去12就只剩6了。这说明减法在一定条件下,是可以用加法来代替的。这里“12”称为“模”,10称为“-2”对模12的补数。推广到一般则有:

A – B = A + ( – B + M ) = A + ( – B )补

(3)可见,在模为M的条件下,A减去B,可以用A加上-B的补数来实现。这里模(module)可视为计数器的容量,对上述手表的例子,模为12。

(4)简言之,对正数来说,其补码和原码的形式相同;而从(3)式和(4)式可以看出,对于负数,补码为其反码的末位加1。

总之,正数的原码、反码和补码是完全相同的;负数的原码、反码和补码其形式各不相同。另外,特别要注意的是,对于负数的反码和补码(即符号位为1的数),其符号位后边的几位数表示的并不是此数的数值。如果要想知道此数的大小,一定要求其反码或补码才行。

计算机真值范围,计算机的机器数,真值,原码, 反码和补码相关推荐

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

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

  2. 计算机中真值的概念,【概念辨析】真值、机器数、原码、反码、补码、变形补码、移码...

    吐槽:最近在学中国大学MOOC的一门课程<计算机系统基础(一)>,初学感觉对这些乱七八糟的码比较纠结,所以写个辨析,希望帮自己理清概念也希望帮到其他初学者.ps:纯属手敲和个人理解,不过有 ...

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

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

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

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

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

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

  6. 计算机原码 反码 和 补码

    一.机器数和真值 1. 机器数 一个数在计算机中的二进制表示,叫做这个数的机器数.在计算机中最高位为符号位.0代表正数,1代表负数. +1 机器数(8位):0000 0001 -1 机器数(8位):1 ...

  7. 【计算机组成原理】真值与机器值小数原码与整数原码定义及举例

    [计算机组成原理]真值与机器值&小数原码与整数原码定义及举例 前言:     昨天受到了来自同事的冲击,希望有一天我也可以成为更加优秀的人,无论言谈举止.身心状态或是专业技能:现在要做的就是比 ...

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

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

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

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

最新文章

  1. XMPP个人信息展示
  2. The powerful Android Studio
  3. ACM模板——并查集
  4. scala函数的定义语法说明
  5. ITK:比较两个图像并将输出像素设置为最小值
  6. LeetCode:Largest Number - 求整型数组中各元素可拼合成的最大数字
  7. NodeJs取参的四种方法
  8. php discuz 定时计划,为什么discuz这个功能计划任务功能不用事件调度呢?
  9. c++ 模糊搜索 正则表达式_c++使用正则表达式提取关键字的方法
  10. Struts12---文件的下载
  11. 你知道吗?macOS Sierra修复漏洞超过60个
  12. python中关于深嵌元组转列表的小问题
  13. python html5 便利店收银系统_便利店收银系统使用教程
  14. Adobe flash builder 4 不生效的序列号说明及解決方法
  15. jboss 服务器配置文件,Apache jboss 集群详细配置
  16. 计算机卡死后自动关机,电脑经常卡住自动关机怎么办
  17. 重庆理工大学计算机转专业,2020年重庆理工大学转专业,大一新生转专业和入学考试...
  18. 三相PFC程序30KW充电桩 30KW三相PFC程序
  19. 模拟QQ软件的基于多线程的流媒体加密传输软件技术
  20. c语言运算符优先级结合,C语言运算符优先级及结合性

热门文章

  1. 当前电子鼻系统数据处理中常用的模式识别技术
  2. 常用排序算法的c++实现(冒泡,选择,插入,堆,shell,快速,归并 )与sort()对比 - coder_xia的专栏 - 博客频道 - CSDN.NET...
  3. 重庆绮佳火锅诚邀合作
  4. python 爬虫(cookie)
  5. IPCC呼叫中心解决案例   一嗨租车
  6. 除了iPhone 还有哪些能确保信息安全的手机?
  7. 【无标题】关于机械版CAD零件序号乱了重新排序的问题
  8. 使用设备树给DM9000网卡_触摸屏指定中断
  9. 未来科幻点击解谜游戏《英科迪亚》现已登陆NS
  10. 【H.264】SPS 解析