社区
C++ Builder
帖子详情
一个float型数字的问题,请高手指点,非常感谢。
genliter
2003-04-26 03:00:35
大家知道,c中float在内存中以32为二进制存放,第一位是sign,接下来的八位是指数位,后23位是小数位,小弟要问的是,如何将这32位每八位每八位当成一个字符取出?
...全文
40
11
打赏
收藏
一个float型数字的问题,请高手指点,非常感谢。
大家知道,c中float在内存中以32为二进制存放,第一位是sign,接下来的八位是指数位,后23位是小数位,小弟要问的是,如何将这32位每八位每八位当成一个字符取出?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
genliter
2003-04-28
打赏
举报
回复
非常,感谢,我要给分了。
谢谢帮忙。分太少。
短歌如风
2003-04-27
打赏
举报
回复
关于看什么书最合适,不同的人有不同的观点。我觉得下面几本书还可以:
《C++语言和面向对象的程序设计》、《C++思想》、《Effective C++》
genliter
2003-04-26
打赏
举报
回复
非常感谢你plainsong,我对c++以及c++builder非常的感兴趣,非常想更深入学习,通过我的问题的臭水平以及您的编程经验,您看我现在应该看一些什么样的书?
谢谢
短歌如风
2003-04-26
打赏
举报
回复
这是因为从signed char类型到signed int类型转换时发生了符号扩展。这样解决:
AnsiString a;
a=IntToHex((unsigned char)Temp.Buf[i]);
其实你可以一次把整个浮点数转化为16进制字符串:
#include <classes.hpp>
AnsiString a;
float fval;
a.SetLength(8);
BinToHex(reinterpret_cast<char*>(&fval), a.c_str(), 4);
drivers
2003-04-26
打赏
举报
回复
gz
genliter
2003-04-26
打赏
举报
回复
例如,把1.001的四个字节一次取出来,从第32位到0位每字节表示成一个十六进制,依次是
3F 80 20 C5 ,我对每个字节是这样转化的,
AnsiString a;
a=IntToHex(Temp.Buf[i]);
结果i=1,3时,正确显示20,3F,但是i=0,2时,显示了FFFFFFC5,FFFFFF80。
请问怎么回事。
谢谢
genliter
2003-04-26
打赏
举报
回复
我想把这四个char字符,化成对应的十六进制字串,直接用了函数IntToHex,结果第一第三个字符转化正确,剩下的两个出现了多余的fff……
qibo999
2003-04-26
打赏
举报
回复
真不错, plainsong(伤心的风) 反应好快啊,我还没写完,他都已经写出3种了,呵呵
短歌如风
2003-04-26
打赏
举报
回复
方法3:
float fval;
char buf[4];
memmove(buf, &fval, 4);
...
就写这三种吧,其实方法多的是,你可以自己开动脑筋去想。
短歌如风
2003-04-26
打赏
举报
回复
方法2:
float fval;
char* buf;
fval = 3.14;
buf = (char*)(&fval);//如果是在C++中则最好用buf = reinterpret_cast<char*>(&fval);
然后访问buf[0],buf[1],buf[2],buf[3]
短歌如风
2003-04-26
打赏
举报
回复
type union
{
float fval;
char buf[4];
} Float2Char4;
Float2Char4 Temp;
Temp.fval = 3.14;
然后访问Temo.buf;
C 语言格式化输出函数中常用的格式符号
C语言输出函数中的常用格式符号详细补偿,包括整
型
、浮点
型
、字符
型
、字符串以及指针类
型
对应的格式符号。
Java之美[从菜鸟到
高手
演变]之字符串
转载出处:http://blog.csdn.net/zhangerqing/article/details/8093919#reply 同时感谢博主对我的
指点
和帮助。怕以后找不到了,就先copy过来存着 先说一下我的收获: String str = "ab"; String a = "a"; String b = "b"; String str2 = a + b; s
c语言运行错误没有显示行数,devc++中编写c语言为什么运行不出结果
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解。话题:devc++中编写c语言为什么运行不出结果回答:我也遇到过此情况,我的解决方法是在主函数最后一句"return 0;"前面加上一句"getchar();",然后就不会一闪而过了,要结束程序按回车就行啦。话题:C语言。。下边这个猜
数字
游戏运行不了,提示random是未定义的标识回答:#includestdio.h#includestd...
GDI+效率
问题
与优化
GDI+效率
问题
与优化 . 分类: 技术笔记 2009-07-05 00:08 1329人阅读 评论(7) 收藏 举报 这周在用GDI+实现图片的动画效果,起初每画一帧都在30-40ms左右,动画效果自然不能令人满意。 困惑了良久,后面在高人的
指点
下,效率有了显著地提高,最主要是清楚了时间都花在了那里,优化起来也就方便很多。 我现在知道的影响GDI+效率的主要有:
Window编程常见数据类
型
及转换
window编程中有两程编码格式,一种是MBCS 多字节字符集,另一种是UNICODE 字符集。 C++基本数据类
型
如下: C 语言 1、常规基本类
型
char int
float
double _bool _imaginary _complex _generic (修饰为 short long signed unsigned ) 2、结
C++ Builder
13,873
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章