一、为什么研究及其内的数据表示
1、目的:组织数据,方便计算机硬件直接使用。
2、要考虑的因素
(1)支持的数据类型;
(2)能表示的数据范围;
(3)能表示的数据精度;
(4)存储和处理的代价;
(5)是否有利于软件的移植等…
二、机器内的数据表示
1、真值:符号用“+”、“-”表示的数据表示方法。
2、机器数:符号数值化的数据表示方法,用 0、1 表示符号。
3、三种常见的机器数:设定点数的形式为 X 0 X 1 X 2 X 3 . . . X n X_0X_1X_2X_3...X_n X0X1X2X3...Xn
[ X ] 原 = { X 0 ≤ X < 2 n 2 n − X 2 − n ≤ X < 0 [X]_原 = \left\{ \begin{array}{rcl} X & & 0 \leq X < 2^n \\ 2^n-X & & 2^{-n} \leq X < 0 \end{array}\right. [X]原={ X2n−X0≤X<2n2−n≤X<0
[ X ] 反 = { X 0 ≤ X < 2 n 2 n + 1 + X − 1 2 − n ≤ X < 0 [X]_反 = \left\{ \begin{array}{rcl} X & & 0 \leq X < 2^n \\ 2^{n+1}+X-1 & & 2^{-n} \leq X < 0 \end{array}\right. [X]反={ X2n+1+X−10≤X<2n2−n≤X<0
[ X ] 补 = { X 0 ≤ X < 2 n 2 n + 1 + X 2 − n ≤ X ≤ 0 m o d 2 n + 1 [X]_补 = \left\{ \begin{array}{rcl} X & & 0 \leq X < 2^n \\ 2^{n+1}+X & & 2^{-n} \leq X \leq 0 \end{array} \right. mod \ \ 2^{n+1} [X]补={