精華區beta TransCSI 關於我們 聯絡資訊
S C M 1 1000 0001 0100 0000 0000 0000 0000 000 某書曰: S:負 C: (1000 0001)=129 Exp=129-127=2 (真實指數) M: 1+M=小數部分 →(1.01)bin 故合併後 -(1.01)*2^2 =-(101)bin =- 5 ---------------------------------------------------- 想問一: C為1000 0001 若以an overview中 超16額表示法(是不是這樣叫我不清楚!?) 0111 1111 表示的是-1 1000 0000 表示的是 0 1000 0001 表示的是 1 所以C的部分,真實指數應該為 1 ?! 想問二: 浮點數正規化,二進制時,假數最高位應該為1 為什麼題目會是0 ?? 又為什麼假數還要再加1?? (之前ASK版有版友教我說是因為溢位的問題,可是我聽了還是不暸解耶) 想問三: 原題真實指數=129-127處 我的想法是 C=Exp+offset Exp=C-offset =129-128 =1 我這樣算是那邊出錯了? 想問四: 下面是我自己想像的算法,請各位幫我個忙 告訴我那邊錯了@@ S==>1==>負 C==>1000 0001===>1 M==>(0.010)bin => -1*(0.101)bin*2^1 =-(1.01)bin =-1-0.25 =-1.25 -- 我知道我很多地方觀念錯的離譜 但是因為不是本科系的 系上沒開計概,想問也不曉得要問誰 有勞各位了 先謝謝大家 PS.Jasy大哥不好意思, 每次你找我的時候都不在電腦前面``呵呵 -- 老鷹振翼向西飛,五里一徘徊,我身雖離去,我心永沈醉。 --時報鷹隊總教練:李瑞麟 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.64.94.69 ※ 編輯: sazkj 來自: 203.64.94.69 (05/11 01:11)
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