数值编码

各种数值数据在计算机中表示的形式称为机器数。机器数对应的实际数值称为数的真值。

定点数和浮点数区别

定点数

小数点的位置固定不变

浮点数

F = M * 2E

M:尾数

E:阶码

浮点数表示一般包括:数符,阶符,阶码数值部分,尾数数值部分

 

原码

定义

(1)整数

\[\left[ X \right]{\rm{ =  }}\left\{ {\begin{array}{*{20}{c}}
{X{\rm{     }}({\rm{0}} \le X{\rm{  < }}{{\rm{2}}^{n - 1}}{\rm{)  }}}\\
{{2^{n - 1}} - X{\rm{     }}({\rm{ - }}{{\rm{2}}^{n - 1}}{\rm{  <  }}X \le 0){\rm{  }}}
\end{array}} \right.\]

其实就是最高位表示符合,其它位表示绝对值

(2)浮点数

\[\left[ X \right]{\rm{ = }}\left\{ {\begin{array}{*{20}{c}}
{X({\rm{0}} \le X < {\rm{1}})}\\
{1 - X( - {\rm{1}} < X \le 0)}
\end{array}} \right.\]

优点

简单直观

缺点

(1)加减运算麻烦

(2)0表示不唯一

 

补码

定义

(1)整数

\[\left[ X \right]{\rm{ =  }}\left\{ {\begin{array}{*{20}{c}}
{X{\rm{     }}({\rm{0}} \le X{\rm{  <  }}{{\rm{2}}^{n - 1}}{\rm{)  }}}\\
{{2^n} + X{\rm{     }}( - {2^{n - 1}}{\rm{ }} \le X < 0){\rm{  }}}
\end{array}(\bmod {2^n})} \right.\]

补码的负数是该值的正数表示按位取反加1 

(2)浮点数

\[\left[ X \right]{\rm{ =  }}\left\{ {\begin{array}{*{20}{c}}
{X{\rm{     }}({\rm{0}} \le X{\rm{  <  1)  }}}\\
{2 + X{\rm{     }}( - 1{\rm{ }} \le X < 0){\rm{  }}}
\end{array}(\bmod 2)} \right.\]

优点

(1)0的表示唯一

(2)大多数 处理器都设置了求补运算

(3)加减法简单:[X+Y] = [X] + [Y]

计算机中一般采用补码表示

 

反码

定义

(1)整数

\[\left[ X \right]{\rm{ =  }}\left\{ {\begin{array}{*{20}{c}}
{X{\rm{     }}({\rm{0}} \le X{\rm{  <  }}{{\rm{2}}^{n - 1}}{\rm{)  }}}\\
{({2^n} - 1) + X{\rm{     }}( - {2^{n - 1}}{\rm{  <  }}X \le 0){\rm{  }}}
\end{array}(\bmod ({2^n} - 1))} \right.\]

负数补码是正数的按位取反

(2)小数

\[\left[ X \right]{\rm{ =  }}\left\{ {\begin{array}{*{20}{c}}
{X{\rm{     }}({\rm{0}} \le X{\rm{  <  }}1{\rm{)  }}}\\
{(2 - {2^{ - n + 1}}) + X{\rm{     }}( - 1{\rm{  <  }}X \le 0){\rm{  }}}
\end{array}(\bmod (2 - {2^{ - n + 1}}))} \right.\]

特点

0表示不唯一

posted @ 2019-11-16 11:43  xd_xumaomao  阅读(446)  评论(0编辑  收藏  举报