作者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://webptt.com/cn.aspx?n=bbs/Electronics/M.1514345634.A.699.html
※ 编辑: corydoras09 (118.163.131.88), 12/27/2017 11:38:28
1F:推 htps0763: h0不是正数吗?为什麽要做补数? 12/27 12:45
2F:→ 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