Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-06-25, 20:42   #1
jasonzou
初级会员
 
注册日期: 2008-06-25
年龄: 42
帖子: 7
声望力: 0
jasonzou 正向着好的方向发展
默认 [求助]问个关于小数转换为IEEE标准的浮点数的问题

不知道如何实现。
我尝试用了先量化我的浮点的数据位和符号位,后用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   #2
jasonzou
初级会员
 
注册日期: 2008-06-25
年龄: 42
帖子: 7
声望力: 0
jasonzou 正向着好的方向发展
默认

郁闷啊,搞了几天,还是搞不懂matlab里面那个float的函数有什么用?
它定义了数据类型为IEEE浮点后,我一赋值,它自己又变成我赋值的类型了。
jasonzou 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
【求助】求助matlab高手 liujie31 MATLAB论坛 2 2007-12-13 15:48
【求助】产生随机数?? wpy6609 MATLAB论坛 4 2007-06-25 22:45


所有时间均为北京时间。现在的时间是 14:01


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.