作者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)
1F:推 sazkj:谢谢版大的详解!!我自己的假设还计算错误 = =" 唉 203.64.94.69 05/11
2F:推 sazkj:我看的那本书是升二技的参考书``错误还不少@@ 203.64.94.69 05/11
3F:推 Jasy:学长 你修改太多次了吧 ... 140.115.17.86 05/11
4F:推 FINALDUCK:请问一下如果书上写的是IEEE754表示法的话呢? 218.184.96.27 05/11
5F:→ sazkj:糟 = =" 我以为IEEE 754和浮点数的计法是一样的 203.64.94.69 05/11
6F:→ sazkj:所以就没特别注明@@" 这是错误的原因吗 203.64.94.69 05/11
7F:推 FINALDUCK:小小声说 没错.... 218.184.96.27 05/11
8F:推 deepdish:後来看了一下IEEE 754,书上写的似乎是对的。 140.115.201.17 05/11