→ Schottky: 您是不是要查: 二的補數 07/22 17:04
謝謝這位大大,但是這跟2補數應該沒有太大的關係
我後來直接寄mail去問
有在台大開放式課程開課開計算機概論的于天立老師,以下是他回的內容
**************************************************************
jk76818你好,
謝謝來信。
這個問題其實答案可以很複雜也可以很簡單。
簡單版的答案就是"這只是一個選擇"。bias 用128 一樣可以work。
選擇127其實是有很多原因的,但並沒有任何一個原因使得用128不行。
其中一個原因如下:
ieee 754 把數字分成5種。其中inf和nan是當exp為全1時。
也就是用 127 當 bias時,exp 真正的range 是 -127 ~ 127 (128 被犧牲了)
這樣使得exp比較平衡些。
當然exp為全0時,其實也被犧牲了,但是畢竟0的確很接近2^-127。
還有另一個原因是gradual underflow…,但講起來真的很複雜…
ieee 754 為了減輕gradual underflow
(http://www.cs.rice.edu/~taha/teaching/05F/210/Labs/Lab07/gradualUnderflow.html)
的問題,決定納入denormalized 數字。
denormalized 是 exp 為全0,但mantissa不為全0。
當初設計者決定denormalized數字必需能表示1/MAX_FLOAT,而127可以達成這個目的(如
上述的平衡)
當然,為何一定要有denormalized 數字,或是為何一定要能表示1/MAX_FLOAT,這都只是
一個選擇而已。
總之,選擇127背後有些道理(其實都還滿weak的),但是用128並沒有不行。
于天立
******************************************************************
BTW 原先寄信給老師,沒有料想他會這麼快回我,甚至認為他應該不會回我
因為我不是他的學生,也不是台大的學生,加上他研究繁忙
但他兩天內就立即回了我信
真的是受寵若驚
果然是在台大學生中評價很好的老師
※ 編輯: jk76818 (211.75.223.247), 07/24/2015 18:02:29
※ 編輯: jk76818 (211.75.223.247), 07/24/2015 18:04:16
推 cebelas: 推于天立老師回信 07/24 23:12