PDA

查看完整版本 : [求助]问个关于小数转换为IEEE标准的浮点数的问题


jasonzou
2008-06-25, 20:42
不知道如何实现。
我尝试用了先量化我的浮点的数据位和符号位,后用num2bin函数来转
代码如下:
a=quantizer([32 31]);
num2bin(a,1.5)
可是它报告我的结果溢出了,输出的为
Warning: 1 overflow.
> In embedded.quantizer.quantize at 68
In embedded.quantizer.num2bin at 52

ans =

01111111111111111111111111111111
根据IEEE单精度浮点的定义:1位符号位,8位指数,23位尾数
1.5对应的值应该是
0 01111111 10000000000000000000000
同样的我尝试对0.5转换成
num2bin(a,0.5)
ans =00111111111111111111111111111110
可是正确的0.5应该是0 01111110 00000000000000000000000
matlab里那个float我只能拿来定义数据类型,当我一用赋值后,数据类型又换了
下面是帮助文档里的关于float函数的定义
float('single') returns a MATLAB structure that describes the data type of an IEEE single (32 total bits, 8 exponent bits)
请教下如何在matlab里把小数转换为浮点....

jasonzou
2008-06-28, 20:24
郁闷啊,搞了几天,还是搞不懂matlab里面那个float的函数有什么用?
它定义了数据类型为IEEE浮点后,我一赋值,它自己又变成我赋值的类型了。