作者corydoras09 (生而為人,我很抱歉)
看板Electronics
標題[問題] 正負號、二補數與浮點數
時間Wed Dec 27 11:33:45 2017
老師要求我們寫一個FIR FILTER
參數都有給了
要求是8BIT長度
問題是在於參數的轉換
H0=0.3374
我自己算出來是0.0101011
取二補數
1.0101100+1=0.0101011
再加上一位正負號變成 0,0.01010
=====================================
但用IEEE 754轉換是
0,0111110 1.0101100 10111111 10110001
扣掉多餘部分變成0,1.0101100
然後H1就更怪了
H1=-0.14938
算出來是0.001001
取二補數不變
再加一位正負號變成1,0.001001
但用IEEE 754是
1,0111110 0.0011000 11110111 00010010
掐頭去尾變成1,0.001100
請問我該用哪個才不會導致錯誤?
另外FIR輸入為8bit,1~-1
假設輸入-0.5,應該表示為
1,0.100000這樣?
但IEEE754卻沒有Mantissa的值
到底該以何者為準啊?
FIR還會多個數互乘再相加
驗算後差超多
感覺是數值設定的問題
求版上大大解惑
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.131.88
※ 文章網址: https://www.ptt.cc/bbs/Electronics/M.1514345634.A.699.html
※ 編輯: corydoras09 (118.163.131.88), 12/27/2017 11:38:28
推 htps0763: h0不是正數嗎?為什麼要做補數? 12/27 12:45
→ htps0763: IEEE754的問題建議你看一下每一項的定義 12/27 12:46
我大概看懂了@@ 精度&有效位元,我錯得離譜
所以還是用0.5、0.125去逼近計算值是吧
H0對吼...想成全部做二補數OTZ
是說全部的值都小於絕對值1應該就放0也可以
※ 編輯: corydoras09 (118.163.131.88), 12/27/2017 13:17:16