news 2026/4/15 9:14:01

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
机器数和真值以及定点表示法

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
体现的“固定”系统中所有数都被当作符号位+整数来运算系统中所有数都被当作符号位+小数来运算
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/13 1:18:46

ComfyUI高级Redux控制:彻底掌握AI图像生成效果调节

ComfyUI_AdvancedRefluxControl是一个功能强大的开源项目,专门用于增强ComfyUI的Redux模型控制能力。该项目通过自定义节点实现了对Redux效果强度的精确调节,支持图像遮罩和非方形图像处理,让用户能够灵活控制最终图像的生成效果。无论你是想…

作者头像 李华
网站建设 2026/4/12 14:52:43

Gitee DevOps:信创时代企业数字化转型的引擎

Gitee DevOps:信创时代企业数字化转型的引擎 在信息技术应用创新产业快速发展的背景下,Gitee DevOps平台以其全面的技术适配能力和高效的研发流程管理,正在重塑企业数字化研发的新范式。作为国内领先的DevOps解决方案提供商,该平台…

作者头像 李华
网站建设 2026/4/9 3:33:06

直播平台运营管理真心话:可靠的直播系统开发搭建公司这么选

运营教你算明白账:选直播系统源码或定制开发比低价更重要的是长期盈利能力在直播行业蓬勃发展的今天,越来越多的创业者和企业希望搭建自己的直播平台。作为有过直播平台运营经验的管理者,您可能会遇到朋友或同行前来咨询:是该投入…

作者头像 李华
网站建设 2026/4/13 18:19:46

如何彻底释放AMD处理器潜能:RyzenAdj深度调优完整指南

如何彻底释放AMD处理器潜能:RyzenAdj深度调优完整指南 【免费下载链接】RyzenAdj Adjust power management settings for Ryzen APUs 项目地址: https://gitcode.com/gh_mirrors/ry/RyzenAdj 你是否曾经在使用AMD Ryzen处理器时感受到性能瓶颈?或…

作者头像 李华
网站建设 2026/4/12 7:29:01

P2692 覆盖

记录46 #include<bits/stdc.h> using namespace std; int main(){int a[5010]{},c[5010]{};int n,m,b,g,s,e,cnt0,cnt_x0;cin>>n>>m>>b>>g;while(b--){cin>>s>>e;for(int is;i<e;i) a[i]1;}while(g--){cin>>s>>e;fo…

作者头像 李华