一個浮點數a由兩個數m和e來表示:a = m × b^e。在任意一個這樣的系統中,我們選擇一個基數b(記數系統的基)和精度p(即使用多少位來儲存)。m(即尾數)是形如±d.ddd...ddd的p位數(每一位是一個介於0到b-1之間的整數,包括0和b-1)。
如果m的第一位是非0整數,m稱作規格化的。有一些描述使用一個單獨的符號位(s 代表+或者-)來表示正負,這樣m必須是正的。e是指數。
擴充套件資料
浮點數就是利用指數達到了小數點“浮動”的效果。從而可以靈活地表達更大範圍內的數, 比如 :
3.6879 * 10 ^ 2 = 368.79
1.2345 * 10 ^ 3 = 1234.5
7.89 * 10 ^ 2 = 789
小數點的位置是不固定的。不過對於同一個浮點數,也有很多表達方式, 368.79 可以表達為:
3.6879 * 10 ^ 2
0.36879 * 10 ^ 3
36.879 * 10 ^ 1
由於其多樣性, 很多計算機廠商都設計了自己的表示浮點數的規則,以及對浮點數運算的細節。 多樣的規則對於程式的可靠性和移植性都是不利的。
一個浮點數a由兩個數m和e來表示:a = m × b^e。在任意一個這樣的系統中,我們選擇一個基數b(記數系統的基)和精度p(即使用多少位來儲存)。m(即尾數)是形如±d.ddd...ddd的p位數(每一位是一個介於0到b-1之間的整數,包括0和b-1)。
如果m的第一位是非0整數,m稱作規格化的。有一些描述使用一個單獨的符號位(s 代表+或者-)來表示正負,這樣m必須是正的。e是指數。
擴充套件資料
浮點數就是利用指數達到了小數點“浮動”的效果。從而可以靈活地表達更大範圍內的數, 比如 :
3.6879 * 10 ^ 2 = 368.79
1.2345 * 10 ^ 3 = 1234.5
7.89 * 10 ^ 2 = 789
小數點的位置是不固定的。不過對於同一個浮點數,也有很多表達方式, 368.79 可以表達為:
3.6879 * 10 ^ 2
0.36879 * 10 ^ 3
36.879 * 10 ^ 1
由於其多樣性, 很多計算機廠商都設計了自己的表示浮點數的規則,以及對浮點數運算的細節。 多樣的規則對於程式的可靠性和移植性都是不利的。