当前位置: 首页 > news >正文

机器数和真值以及定点表示法

1.机器数

机器数 是指一个数在计算机内部的二进制表示形式

  • 数字化符号:用 0 表示正号(+),用 1 表示负号(-)。这个符号位通常放在二进制序列的最高位(对于定点数)。

  • 位数固定:机器数的长度(位数)是固定的,由计算机硬件(如寄存器、ALU的位数)决定。例如,8位、16位、32位、64位。

  • 编码规则多样:同一个真值,根据不同的编码规则(原码、反码、补码、移码),可以得到不同的机器数。

  • 表示范围有限:由于位数固定,机器数能表示的范围是有限的,超出则发生溢出。

例子(假设用8位二进制表示整数 +11 和 -11):

真值 +11 的二进制绝对值是 1011。

原码机器数:00001011 (最高位0表示正,后面是数值) 补码机器数:00001011 (正数的原、反、补码相同)

真值 -11 的二进制绝对值是 1011。

原码机器数:10001011 (最高位1表示负,后面是数值) 补码机器数:11110101 (符号位为1,数值部分取反加1) 核心:机器数是真值在计算机中的“化身”,是计算机存储和运算的实际对象。

2. 真值

机器数对应的实际数值

3.定点表示法

好的,这是一个计算机组成原理中的核心基础概念。我们来系统地解释一下这三个紧密相关的概念。


1. 真值

真值是指一个数本身真实的数值,也就是我们日常生活中书写和理解的数值。

  • 它包含符号(+ 或 -)绝对值两部分。
  • 表示形式:通常用 “+”、“-” 号加绝对值表示。
  • 例子
    • +1011(十进制 +11)
    • -1011(十进制 -11)
    • +0.1011(十进制 +0.6875)
    • -0.1011(十进制 -0.6875)

核心:真值是原始的、未编码的数值。计算机无法直接存储“+”和“-”号,所以需要将真值转换为机器数


2. 机器数

机器数是指一个数在计算机内部的二进制表示形式。

  • 它是将真值的符号数值一起进行数字化编码后的结果。
  • 它有几个关键特点:
    1. 数字化符号:用0表示正号(+),用1表示负号(-)。这个符号位通常放在二进制序列的最高位(对于定点数)。
    2. 位数固定:机器数的长度(位数)是固定的,由计算机硬件(如寄存器、ALU的位数)决定。例如,8位、16位、32位、64位。
    3. 编码规则多样:同一个真值,根据不同的编码规则(原码、反码、补码、移码),可以得到不同的机器数。
    4. 表示范围有限:由于位数固定,机器数能表示的范围是有限的,超出则发生溢出。

例子(假设用8位二进制表示整数+11-11):

  • 真值+11的二进制绝对值是1011
    • 原码机器数:00001011(最高位0表示正,后面是数值)
    • 补码机器数:00001011(正数的原、反、补码相同)
  • 真值-11的二进制绝对值是1011
    • 原码机器数:10001011(最高位1表示负,后面是数值)
    • 补码机器数:11110101(符号位为1,数值部分取反加1)

核心:机器数是真值在计算机中的“化身”,是计算机存储和运算的实际对象。


3. 定点表示法

定点表示法是规定计算机中小数点位置固定不变的一种数据表示方法。它是机器数的一种具体组织方式。

定点数主要分为两类:

a) 定点整数

小数点固定在最低有效位(LSB)之后。

  • 格式符号位+ 数值位(纯整数部分)
  • 表示范围(以n位补码为例):-2^(n-1)+(2^(n-1) - 1)
  • 例子:机器数00001011(8位定点整数补码)表示真值+11
b) 定点小数

小数点固定在符号位之后,最高数值位之前。

  • 格式符号位+.+ 数值位(纯小数部分)。注意,这个“.”是隐含的,并不实际存储。
  • 表示范围(以n位补码为例):-1+(1 - 2^-(n-1))
  • 例子:假设机器数10110000是一个8位定点小数(补码),其最高位1是符号位,其后是小数部分.0110000。经过换算,它表示的真值是一个负数(具体值需根据补码规则计算)。

定点表示法的特点

  • 优点:硬件实现简单,运算速度快。早期的计算机和嵌入式系统中常见。
  • 缺点
    • 数值范围与精度矛盾:总位数固定的情况下,整数部分位数多,则范围大但精度低;小数部分位数多,则精度高但范围小。
    • 灵活性差:难以同时表示非常大和非常小的数。为了克服这个缺点,现代通用计算机普遍采用浮点表示法(IEEE 754标准)。

核心要点对比表
概念定义关注点例子(负小数)
真值数本身的真实值符号、大小-0.6875
机器数真值在计算机中的编码符号数字化、位数固定、编码格式10101000(假设是8位补码)
定点表示法小数点位置固定的表示方法小数点的隐含位置(整数/小数)规定10101000定点小数(符号位后即小数点)

简单来说:真值是现实,定点表示法是规则,机器数是遵循该规则在计算机世界里的存在形态。

“小数点位置固定不变”解释

“小数点位置固定不变”并不是指计算机里真的存储了一个小数点,而是指程序员/硬件设计者在设计系统时,事先约定好一个隐含的、统一的位置,所有数据的小数点都对齐在这个位置上。

这个“约定”体现在对二进制位的解释方式上,而不是存储的位模式本身。

一个生动的比喻:价格标签

想象一个超市,所有价格标签都设计成4位数字的格式,并且管理层规定:

  • 规则A(定点整数):所有价格都是整数,单位是“分”。小数点隐含在最后两位数字之后

    • 标签0199表示:01.99?不对!因为规则是“小数点在后”,所以它表示0199.分,即199分 = 1.99元
    • 标签1500表示:1500.分 =15.00元
    • 这里,小数点固定在整个数字的最右边。
  • 规则B(定点小数):所有价格单位是“元”。小数点隐含在第一位数字之后

    • 标签0199表示:0.199?不对!因为规则是“小数点在第一位数后”,所以它表示0.199元,即0.199元 = 1角9分9厘
    • 标签1500表示:1.500元 =1.5元
    • 这里,小数点固定在整个数字的最左边(符号位之后)。

关键点

  1. 标签(机器数)本身都是01991500这四位数字。
  2. 数字没有变,但解释规则不同,它代表的真实价值(真值)就完全不同
  3. 一旦超市选定了一种规则,所有标签都必须统一按这个规则解读。这个统一的解读规则就是“小数点位置固定”。

计算机中的具体例子

假设我们有一个8位的存储空间,规定使用补码表示。

案例一:定点整数(小数点固定在最低位LSB之后

  • 约定:最高位是符号位,剩余7位是整数部分。小数点隐含在第0位(最低位)的右边
  • 机器数:1000 0011
  • 如何解读?
    1. 符号位:1-> 负数。
    2. 数值部分:因为是补码,负数需要转换。000 0011是补码形式,求其原码。
      • 补码000 0011减1 ->000 0010
      • 取反 ->111 1101,这是数值的绝对值(二进制125)。
    3. 这个绝对值125整数,因为小数点固定在最后。所以真值是-125(十进制)。
案例二:定点小数(小数点固定在符号位之后
  • 约定:最高位是符号位,它后面的7位是小数部分。小数点隐含在符号位和数值位之间。
  • 机器数:1000 0011和上面案例一的二进制序列一模一样!
  • 如何解读?
    1. 符号位:1-> 负数。
    2. 数值部分(小数部分):补码000 0011同样需要转换求原码。
      • 得到绝对值(小数部分)的二进制原码是.111 1101
    3. 将这个二进制小数转换为十进制小数:
      • .111 1101= (1/2) + (1/4) + (1/8) + (1/16) + (1/32) + (0/64) + (1/128)
      • = 0.5 + 0.25 + 0.125 + 0.0625 + 0.03125 + 0.0078125
      • 0.9765625
    4. 所以真值 ≈-0.9765625(十进制)。

对比总结
项目案例一:定点整数案例二:定点小数
相同的机器数1 00000111 0000011
隐含小数点位置在最低位之后
1 0000011 .
在符号位之后
1 . 0000011
位模式解释符号位 +7位整数符号位 +7位小数
计算出的真值-125-0.9765625
体现的“固定”系统中所有数都被当作符号位+整数来运算系统中所有数都被当作符号位+小数来运算
http://www.cnnetsun.cn/news/20125.html

相关文章:

  • Gitee DevOps:信创生态下的企业数字化转型新引擎
  • 终极指南:如何使用Nools规则引擎实现智能决策系统
  • 助力AI+医疗诊断 东软荣获广东省科技进步一等奖
  • COMSOL相控阵超声仿真:phased_array_focus与压力声学模块的mph文件
  • 3分钟掌握VoxCPM:零基础搭建专业级语音克隆系统
  • 国产图数据库:开启数据新“视”界 悦数科技
  • 终极文件管理方案:3步打造专业级云盘系统
  • Python-Skill Bridge:无缝连接Python与Virtuoso的终极解决方案
  • AutoHotkey鼠标自动化终极指南:5分钟解放你的双手
  • reMarkable平板终极管理指南:6款GUI客户端帮你解锁完整生产力
  • 5G赋能全域连接:企业终端管理何以应对“失控”危机?
  • Phi-2模型:5个实用技巧让你快速上手AI文本生成
  • 【Java毕设源码分享】基于springboot+vue的互联网智慧医院体检平台的设计与实现(程序+文档+代码讲解+一条龙定制)
  • Windows文件rmclient.dll丢失或损坏问题 下载修复
  • Spring AOP表达式速查手册
  • QuickAdd API实战指南:打造你的专属智能笔记工作流
  • Windows系统文件samlib.dll缺失损坏问题 下载修复
  • 鸣潮自动化工具完整使用教程:从零开始轻松掌握智能辅助
  • MethylDackel:BS-seq甲基化提取的终极利器
  • RookieAI_yolov8:2025年游戏AI自瞄技术完全指南
  • pywebview与React集成的终极指南:高效构建跨平台桌面应用
  • 大模型微调:不冻结参数 vs 冻结主干
  • 30亿参数改写AI效率范式:Qwen3-30B-A3B如何让企业AI成本降60%?
  • ppInk:Windows平台上的终极协作写作与在线文档编辑指南
  • 3步彻底解决PDFMathTranslate中文乱码:从新手到专家的终极指南
  • React Stripe.js 终极指南:快速构建安全支付系统
  • 新手专属!BurpSuite 零基础到实战全攻略 —— 渗透测试核心工具配置与精通教程
  • 基于web的农产品溯源系统选题表
  • 基于Web的企业招投标管理系统的开发中期报告
  • ABB RobotWare软件资源下载与配置完全指南