数值编码

Posted xumaomao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数值编码相关的知识,希望对你有一定的参考价值。

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

定点数和浮点数区别

定点数

小数点的位置固定不变

浮点数

F = M * 2E

M:尾数

E:阶码

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

 

原码

定义

(1)整数

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

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

(2)浮点数

[left[ X ight]{ m{ = }}left{ {egin{array}{*{20}{c}}
{X({ m{0}} le X < { m{1}})}\
{1 - X( - { m{1}} < X le 0)}
end{array}} ight.]

优点

简单直观

缺点

(1)加减运算麻烦

(2)0表示不唯一

 

补码

定义

(1)整数

[left[ X ight]{ m{ =  }}left{ {egin{array}{*{20}{c}}
{X{ m{     }}({ m{0}} le X{ m{  <  }}{{ m{2}}^{n - 1}}{ m{)  }}}\
{{2^n} + X{ m{     }}( - {2^{n - 1}}{ m{ }} le X < 0){ m{  }}}
end{array}(mod {2^n})} ight.]

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

(2)浮点数

[left[ X ight]{ m{ =  }}left{ {egin{array}{*{20}{c}}
{X{ m{     }}({ m{0}} le X{ m{  <  1)  }}}\
{2 + X{ m{     }}( - 1{ m{ }} le X < 0){ m{  }}}
end{array}(mod 2)} ight.]

优点

(1)0的表示唯一

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

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

 

反码

定义

(1)整数

[left[ X ight]{ m{ =  }}left{ {egin{array}{*{20}{c}}
{X{ m{     }}({ m{0}} le X{ m{  <  }}{{ m{2}}^{n - 1}}{ m{)  }}}\
{({2^n} - 1) + X{ m{     }}( - {2^{n - 1}}{ m{  <  }}X le 0){ m{  }}}
end{array}(mod ({2^n} - 1))} ight.]

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

(2)小数

[left[ X ight]{ m{ =  }}left{ {egin{array}{*{20}{c}}
{X{ m{     }}({ m{0}} le X{ m{  <  }}1{ m{)  }}}\
{(2 - {2^{ - n + 1}}) + X{ m{     }}( - 1{ m{  <  }}X le 0){ m{  }}}
end{array}(mod (2 - {2^{ - n + 1}}))} ight.]

特点

0表示不唯一

以上是关于数值编码的主要内容,如果未能解决你的问题,请参考以下文章

深入了解mysql数据传输编码原理

数据竞赛知识点 | 数值特征的缩放与编码

编码解码

8.数值进制运算与字符编码转换

根据 R 中的一系列分类变量重新编码数值变量

pandas将非数值型特征转化为数值型(one-hot编码)