社区
C语言
帖子详情
如何将一个float类型转换成16进制?
jumpinwind
2002-10-30 02:38:15
如何将一个float类型转换成16进制?
是否有函数或代码?
...全文
775
9
打赏
收藏
如何将一个float类型转换成16进制?
如何将一个float类型转换成16进制? 是否有函数或代码?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Cuttloefish
2002-10-31
打赏
举报
回复
dellric(林),我怀疑你的函数会丢失精度。如果要将一个float转换成string,建议不要直接强制转换。我有一个函数,不知行不行:
char* float_to_string(float f)
{
char buf[100];
ostrstream oss(buf, sizeof(buf));
oss << f; //f在这里被输出到oss的buffer(buf)中,已经变成了char
return buf;
}
以后的操作就简单了,把f的小数部分与整数部分分开存入两个integer类型中,然后再转成hex,还原的时候再重新组装起来,一点东西都不会少。
liqian0108
2002-10-30
打赏
举报
回复
float f=29.298;
cout<<hex<<f<<endl;
you tried it.
dellric
2002-10-30
打赏
举报
回复
给你一个函数
void Float2HexShow(float f)
{
int i ;
unsigned char * lp;
lp = (unsigned char *)&f;
for ( i = 0 ; i < sizeof ( f) ; i ++)
{
printf( "%02X",(unsigned int ) lp[i]);
}
}
jumpinwind
2002-10-30
打赏
举报
回复
需要将转换的结果写到汇编语言的的寄存器中
pro_wang
2002-10-30
打赏
举报
回复
确实时有这方面的函数
nwsuafmouse
2002-10-30
打赏
举报
回复
你可以在输出时用\xhh 转换
或者在用时加’xhh‘来转换
blackmouse2002
2002-10-30
打赏
举报
回复
关注
TianGo123
2002-10-30
打赏
举报
回复
我记得有函数的
webbb
2002-10-30
打赏
举报
回复
目的是什么?
比如13.23435要得到13的16进制还是内存里表示的16进制?
long int tmp;
float f = 13.2345;
tmp = f; //取整在换
...
如果要内存里的浮点表示值:
tmp = &(&f); //不行的话一个字节一个字节取
比如:
long t;
char str[sizeof(f)];
memcpy(str,&f,sizeof(f));
tmp = 0;
for(int i=0;i<sizeof(f);i++)
{
t = str[i];
tmp += t<<(8*i);
}
16进制
如何转换
成
float
型数据
做串口通信时,下位机输入的是
16进制
数据,如何将之转换
成
float
数据?
C#浮点数和
16进制
字节数互相转换
该代码可以实现单精度浮点数和
16进制
字符之间的转换,包含源代码
excel中实现浮点数转
16进制
Float
2Hex
在excel中实现浮点数转
16进制
Float
2Hex, VBA熟练的人一看就懂,导入即可实现
Float
2Hex()函数。
十六进制(HEX)和浮点类型(
float
、double)转换工具
解析参见:https://handsome-man.blog.csdn.net/article/details/107333529
float
与
16进制
互转 工具
非常好用的
float
和hex 互相转换工具 值得下载
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章