1.3数值型数据的编码表示
三要素
- 进位计数制(二进制)
- 定、浮点表示
- 定点整数、定点小数
- 浮点数(可用一个定点小数和一个定点整数来表示)
- 如何用二进制编码
1.定点数编码
原码的表示(Sign and Magnitude )
最高位:符号位(1-负数,0-正数)
其余:数值位
- 0的表示不唯一(1000,0000)
- 需额外对符号位处理
- 加减运算不统一
整数和小数表示
- 定点整数:小数点固定在数值位最右
- 定点小数:小数点固定在数值位最左
补码表示
重要概念:在一个模运算系统中,一个数与它除以“模”后的余数等价。(例如时钟: 3=15)
- 一个负数的补码等于模减该负数的绝对值,正数补码是它自己。
- 对于某一确定的模,某数减去小于模的另一数(4),总可以用该数加上另一数的相反数(-4)的补码来代替。(+ 和- 的统一)

补码定义(假定有n位)
定点整数:
特殊数的补码:
补码->真值

符号为0,则为正数,数值部分相同
符号为1,则为负数,数值各位取反,末位加1,得绝对值
如:补码11010110的真值为:-0101010= -(32+8+2)= -42
变形补码
双符号,用于存放可溢出的中间结果
移码
将每一个数值加上一个偏置常数(Excess / bias)
一般来说,机器数位数为n时,bias取
假设n=4:
2.整数的表示
- 带符号整数(signed integer):
- 定点编码方式:原码、补码、反码
- 无符号整数(unsigned integer):
- 例如:地址运算、编号表示
- 没有符号位,也无需使用原码补码移码
- 能表示的最大值 > 位数相同的带符号整数的最大值
3.浮点数的表示
十进制

规格化形式:尾数的小数点前只有一位非0数
二进制

只要对尾数和指数分别编码,就可表示一个浮点数(即:实数)
表示

- 浮点数范围比定点数大,但数的个数没变多,变稀疏
IEEE 754 浮点数标准

二进制浮点数转换为十进制

十进制转换为二进制浮点数

特殊数


4.十进制数的二进制编码表示(BCD)
- 十进制有权码(8421码、自然BCD码)
- 每个十进制数字的4个二进制位都有确定的权
- 格雷码
- 任意两个相邻的编码只有一位二进位不同
- Title: 1.3数值型数据的编码表示
- Author: SyEic_L
- Created at : 2025-02-21 11:25:05
- Updated at : 2025-02-26 09:23:03
- Link: https://blog.syeicl.vip/2025/02/21/1-3数值数据的编码表示/
- License: This work is licensed under CC BY-NC-SA 4.0.
推荐阅读
推荐阅读
Comments