推 Jasy:來人阿 餵公子詳解 ... 140.115.17.82 05/11
推 sazkj:哈哈``我們又擦身而過了XD 203.64.94.69 05/11
> -------------------------------------------------------------------------- <
作者: deepdish (要和數學裝熟..) 看板: TransCSI
標題: Re: 浮點數計算
時間: Wed May 11 13:33:00 2005
PS:以下的解說完全按照 an overview 中譯本內容
※ 引述《sazkj (時報鷹萬歲!!!)》之銘言:
: S C M
: 1 1000 0001 0100 0000 0000 0000 0000 000
: 某書曰:
什麼爛書拿出來鞭\./
: S:負
Sign bit 符號位元
: C:
在 an overview 是寫 exponent field 指數欄
: (1000 0001)=129
: Exp=129-127=2 (真實指數)
1000 0001 代表正 1,
意謂著將答案的小數點 0100 往右移一個位元
: M:
Mantissa field 假數欄
: 1+M=小數部分
: →(1.01)bin
: 故合併後
: -(1.01)*2^2
: =-(101)bin
: =- 5
結果為 0.100
也就是 1/2 的二進位形式。
因為符號位元為 1,表示的值為負,所以表示 - 1/2
: 想問一:
: C為1000 0001 若以an overview中 超16額表示法(是不是這樣叫我不清楚!?)
不是 超額 xx 表示法(excess notation)是說
二進位的數值比超額表示法的數值多出 xx
所以這裡應該是 超額 128 表示法吧
降的話你應該就知道上面原本你是怎麼算的了
: 0111 1111 表示的是-1
: 1000 0000 表示的是 0
: 1000 0001 表示的是 1
: 所以C的部分,真實指數應該為 1 ?!
沒錯
: 想問二:
: 浮點數正規化,二進制時,假數最高位應該為1
正規化是說
這是為了避免同一個值有多種表示法的可能性。
同時他使得所有非零的值的假數欄都會以 1 開始。
: 為什麼題目會是0 ??
所以題目並不符合正規化格式
: 又為什麼假數還要再加1??
: (之前ASK版有版友教我說是因為溢位的問題,可是我聽了還是不暸解耶)
因為那本爛書不是 an overview
: 想問三:
: 原題真實指數=129-127處
: 我的想法是
: C=Exp+offset
: Exp=C-offset
: =129-128
: =1
: 我這樣算是那邊出錯了?
an overview 用的方法好像比較簡單耶
: 想問四:
: 下面是我自己想像的算法,請各位幫我個忙
: 告訴我那邊錯了@@
: S==>1==>負
: C==>1000 0001===>1
: M==>(0.010)bin
: => -1*(0.101)bin*2^1
: =-(1.01)bin
: =-1-0.25
: =-1.25
看一下上面囉
--
歡迎大家一起加入Intel Philanthropic Peer-to-Peer Program !!!
這項「英特爾慈善『點對點連線』計畫」旨在經由網際網路,把數百萬部個人電腦連結
起來,加速研發治療白血球過多症(血癌)的藥物,從而把新藥上市的需要時間縮短約
一半。對本計畫有興趣者,可以到http://www.grid.org/download/gold/download.htm
網站,下載該程式。
一旦一批資料處理完畢,下次電腦連接上網際網路時,不論經由寬頻或撥接,電腦便會
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.115.201.17
※ 編輯: deepdish 來自: 140.115.201.17 (05/11 13:33)
※ 編輯: deepdish 來自: 140.115.201.17 (05/11 13:40)
※ 編輯: deepdish 來自: 140.115.201.17 (05/11 13:44)
※ 編輯: deepdish 來自: 140.115.201.17 (05/11 13:46)
※ 編輯: deepdish 來自: 140.115.201.17 (05/11 13:47)
※ 編輯: deepdish 來自: 140.115.201.17 (05/11 13:49)
※ 編輯: deepdish 來自: 140.115.201.17 (05/11 13:51)
※ 編輯: deepdish 來自: 140.115.201.17 (05/11 13:51)
推 sazkj:謝謝版大的詳解!!我自己的假設還計算錯誤 = =" 唉 203.64.94.69 05/11
推 sazkj:我看的那本書是升二技的參考書``錯誤還不少@@ 203.64.94.69 05/11
推 Jasy:學長 你修改太多次了吧 ... 140.115.17.86 05/11
推 FINALDUCK:請問一下如果書上寫的是IEEE754表示法的話呢? 218.184.96.27 05/11
→ sazkj:糟 = =" 我以為IEEE 754和浮點數的計法是一樣的 203.64.94.69 05/11
→ sazkj:所以就沒特別註明@@" 這是錯誤的原因嗎 203.64.94.69 05/11
推 FINALDUCK:小小聲說 沒錯.... 218.184.96.27 05/11
推 deepdish:後來看了一下IEEE 754,書上寫的似乎是對的。 140.115.201.17 05/11
> -------------------------------------------------------------------------- <
作者: upanddn (小管) 看板: TransCSI
標題: Re: 浮點數計算
時間: Wed May 11 22:45:42 2005
※ 引述《deepdish (要和數學裝熟..)》之銘言:
: PS:以下的解說完全按照 an overview 中譯本內容
: ※ 引述《sazkj (時報鷹萬歲!!!)》之銘言:
: : S C M
: : 1 1000 0001 0100 0000 0000 0000 0000 000
: : 某書曰:
: 什麼爛書拿出來鞭\./
: : S:負
: Sign bit 符號位元
: : C:
: 在 an overview 是寫 exponent field 指數欄
: : (1000 0001)=129
: : Exp=129-127=2 (真實指數)
: 1000 0001 代表正 1,
: 意謂著將答案的小數點 0100 往右移一個位元
: : M:
: Mantissa field 假數欄
: : 1+M=小數部分
: : →(1.01)bin
: : 故合併後
: : -(1.01)*2^2
: : =-(101)bin
: : =- 5
: 結果為 0.100
: 也就是 1/2 的二進位形式。
: 因為符號位元為 1,表示的值為負,所以表示 - 1/2
: : 想問一:
: : C為1000 0001 若以an overview中 超16額表示法(是不是這樣叫我不清楚!?)
: 不是 超額 xx 表示法(excess notation)是說
: 二進位的數值比超額表示法的數值多出 xx
: 所以這裡應該是 超額 128 表示法吧
: 降的話你應該就知道上面原本你是怎麼算的了
: : 0111 1111 表示的是-1
: : 1000 0000 表示的是 0
: : 1000 0001 表示的是 1
: : 所以C的部分,真實指數應該為 1 ?!
: 沒錯
: : 想問二:
: : 浮點數正規化,二進制時,假數最高位應該為1
: 正規化是說
: 這是為了避免同一個值有多種表示法的可能性。
: 同時他使得所有非零的值的假數欄都會以 1 開始。
: : 為什麼題目會是0 ??
: 所以題目並不符合正規化格式
: : 又為什麼假數還要再加1??
: : (之前ASK版有版友教我說是因為溢位的問題,可是我聽了還是不暸解耶)
: 因為那本爛書不是 an overview
: : 想問三:
: : 原題真實指數=129-127處
: : 我的想法是
: : C=Exp+offset
: : Exp=C-offset
: : =129-128
: : =1
: : 我這樣算是那邊出錯了?
: an overview 用的方法好像比較簡單耶
: : 想問四:
: : 下面是我自己想像的算法,請各位幫我個忙
: : 告訴我那邊錯了@@
: : S==>1==>負
我想該書應該是指IEEE的規格吧!正規化的尾數是1.f,整數部份是隱藏位元,exp指數則갊是excess值加上真實指數 exp=exp(真實指數)+excess(IEEE規格的excess是127),該書似
乎題意未表達完全。
小弟我的算法是…
(指數範圍) exp excess(2^(8-1)) exp(真實)
11111111=255 128 127
10000000=128 128 0
00000000= 0 128 -128
S E M
1 1000 0001 0100 0000 0000 0000 0000 000
負 2^(129-128) .1(正規化)
=- 0.1 bin *2^1=-1(bin)=-1(dec)
有錯請指正;
順便請教一下,推文要按什麼?orz
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.167.164.182
推 sazkj:推文是大寫X,shift+x 203.64.94.69 05/11
推 sazkj:歹勢⊙⊙題目有提到IEEE是我把他和浮點數搞混了 203.64.94.69 05/11