移位存储详解
IEEE 754 浮點數存儲標準
規定浮點數格式如下:
???
s表示符號位,當s=0,V為正數;當s=1,V為負數
E表示8位階碼,采用移位存儲
M表示23位尾數,如M為10100....,那么M所代表的二進制浮點數為M'=1+1/2+1/2^2=1.75,2>M'>=1
根據32位數計算為十進制:V=(?1)^s × M' × 2^(E?127),
?
移位存儲詳解
如果采用傳統的高bit表示正負的方法,將-127-127分為兩個區間表示:
第一個區間:0 000000 0~ 0 111111 1 即 +0 到 127
第二個區間:1 000000 0~ 1 111111 1 即 -0 到 -127
很明顯存在+0和-0的問題,如果采用移位存儲技術,即在原始數值的基礎上加 127,全部轉換為>=0的數進行表示:
此時最高位不是符號位,8bit可以表示0~255,那么原始數值可以表示-127~128,分別如下
第一個區間:0 000000 0~ 0 111111 1 ,直接大小0~127 ,減去127后表達范圍?-127 到 0
第二個區間:1 000000 0~ 1 111111 1 ,直接大小128~255,減去127后表達范圍?1 到 128
也就是可以使用 8位二進制來表示從 -127~128 共計 127個負數+零(0)+128個正數總共 256個數,且使用移位存儲即沒有+0和-0的問題,又充分的使用這個新生成的 8位二進制數來最大限度的表示單精度浮點數的冪指數(階碼)
?
?
總結
- 上一篇: 浮点量化逼近策略
- 下一篇: 神经网络压缩之低比特量化的优劣分析