lec3-数的表示
lecture 3
重点
二进制的基本原则
K位的二进制编码至多表示 2 k 2^k 2k个不同的数值
整数补码
- 有符号整数:原码,反码,移码,补码
- 补码非常方便,无论同号还是异号,都可以直接相加
注意:为什么可以直接相加? - 你会发现,以4位数举例子
- 0000-0111 的数值没有发生改变
- 1000-1111 的数值发生了改变, 从 2 n − 1 − > 2 n − 1 2^{n-1} -> 2^n-1 2n−1−>2n−1变成 − 2 n − 1 − > − 1 -2^{n-1} -> -1 −2n−1−>−1,实际上数值减少了 2 n 2^n 2n
- 这也是**“取反加一”**的由来,正数变负数,
- 补码的真值,关键是最高位是负数位,其他是正数位
IEEE浮点数
-
符号-1,阶数-8,尾数-23
-
规格化与非规格化问题:
- 规格化(0 < E < 255),类似于科学计数法,因为第一个数字一定是1,所以可以进行省略,(1.xxx)进行计算即可
- 有时候会考,规格化前提下,最大的和最小的正整数分别是?
建议手算一下,答案是 2 127 ( 2 − 2 − 23 ) 2^{127}(2-2^{-23}) 2127(2−2−23), 2 − 126 2^{-126} 2−126 - 非规格化(E = 0),最前面的的是0,关键是阶码是 -126
- 还有E=255,尾数0是无穷,尾数非0是NAN
-
最大值最小值,上面已经给出计算
NBCD
1100/1101,正数/负数
考点
- 数的表示:整数补码;浮点数:IEEE 754;NBCD:十进制数表示
- 浮点数的规格化?非规格化?
- 补码的优势是什么?为什么有这种优势(数学的进行表示)
怎么把整数变到负数部分的?