stone2083

          IEEE 754 浮點存儲小記

          IEEE 754:

          https://zh.wikipedia.org/wiki/IEEE_754


          FLOAT:

          31  30         22       15          7          0

          +---+----------+---------+----------+----------+

          |   |          |                               |

          +---+----------+---------+----------+----------+

          + S +     E    +               M               +


          EXAMPLE(5.5):

          =============================

          int main() {

              float a = 5.5;

              int *p = &a;

              printf("%d\n", *p);

              printf("%X\n", *p);

          }


          gcc -o main main.c; ./main

          十進制:    1085276160

          十六進制:  40B00000

          =============================



          十進制 = 二進制 = 二進制指數(shù)形式

          5.5    = 101.1  = 1.011 * 2^2


          ==> S=0 E=2 M = 11


          31  30         22       15          7          0

          +---+----------+---------+----------+----------+

          | 0 | 10000001 | 0110000 | 00000000 | 00000000 |

          +---+----------+---------+----------+----------+

          + S +     E    +               M               +


          轉(zhuǎn)換成INT:

          二進制:    01000000101100000000000000000000

          十進制:    1085276160

          十六進制:  40B00000



          EXAMPLE(5.1):

          ===========================================

          int main() {

              float a = 5.1;

              int *p = &a;

              printf("Float:\t%f\n", a);

              printf("十進制:\t%d\n", *p);

              printf("十六進制:\t%X\n", *p);

          }


          gcc -o main main.c; ./main

          Float:    5.100000

          十進制:    1084437299

          十六進制:  40A33333

          ===========================================


          存儲形式:0b01000000101000110011001100110011

          有效尾數(shù):01000110011001100110011

          表達方式:1.01000110011001100110011 * 2^2 ==> 101.000110011001100110011


          101 ==> 5

          0.000110011001100110011 ==> 2^-4 + 2^-5 + 2^-8 + 2^-9 + 2^-12 + 2^-13 + 2^-16 + 2^-17 + 2^-20 + 2^-21


          實際表達:      5.09999990463256836

          保留6位小數(shù):   5.100000

          posted on 2017-10-12 11:23 stone2083 閱讀(661) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 永兴县| 潢川县| 保定市| 永川市| 云和县| 宜阳县| 侯马市| 淮南市| 洛浦县| 宜宾市| 英超| 云安县| 五常市| 南召县| 那曲县| 西乌| 彭泽县| 璧山县| 福州市| 铁力市| 全椒县| 随州市| 桂阳县| 依兰县| 马公市| 昆明市| 夏津县| 鱼台县| 大安市| 镶黄旗| 麦盖提县| 宁强县| 五河县| 通渭县| 洪湖市| 都安| 芜湖市| 紫金县| 治多县| 扬中市| 珠海市|