求指教,在线等待,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
...全文
57 6 打赏 收藏 转发到动态 举报
写回复
用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);

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧