社区
C++ Builder
帖子详情
求指教,在线等待,100分立刻赠送!
keikai
2002-03-08 09:19:20
//按照IEEE754规范将float转换为int Bits
int sig = (AFloat>0)?1:0;
int exp = Log10(AFloat);
if(sig==0)AFloat *= -1;
float msk = AFloat / exp;
int iSend;
//如何使iSend这个int(4个Byte,32Bit)
//Bit 31 为 sig
//Bit 30--23为 exp
//Bit 22--0 为 msk
...全文
60
6
打赏
收藏
求指教,在线等待,100分立刻赠送!
//按照IEEE754规范将float转换为int Bits int sig = (AFloat>0)?1:0; int exp = Log10(AFloat); if(sig==0)AFloat *= -1; float msk = AFloat / exp; int iSend; //如何使iSend这个int(4个Byte,32Bit) //Bit 31 为 sig //Bit 30--23为 exp //Bit 22--0 为 msk
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
windindance
2002-03-08
打赏
举报
回复
真是对不起。
windindance
2002-03-08
打赏
举报
回复
很抱歉,这道题我原来理解错了。
keikai
2002-03-08
打赏
举报
回复
这样子会不会丢失精度?
譬如,本来我的msk是1.2323
现在确变成了1了?
windindance
2002-03-08
打赏
举报
回复
int iSend =
(sig << 31) |
(exp << 23) |
((int)msk);
keikai
2002-03-08
打赏
举报
回复
首先,非常感谢你的热情。
其次,报错啦。
msk是float类型啊,错误为Illegal use of float point。
windindance
2002-03-08
打赏
举报
回复
int iSend =
(sig << 31) |
(exp << 23) |
(msk);
C++ Builder
13,870
社区成员
102,693
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章