• 全部
  • Windows SDK/API
  • 基础类
  • ActiveX
  • 数据库及相关技术
  • 网络及通讯开发
  • VCL组件使用和开发
  • 问答

求指教,在线等待,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
...全文
26 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
创建于2007-08-02

1.3w+

社区成员

C++ Builder相关内容讨论区
申请成为版主
帖子事件
创建了帖子
2002-03-08 09:19
社区公告
暂无公告