如何将一个float类型转换成16进制

2025年03月01日 07:18
有1个网友回答
网友(1):

目的是什么?
比如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{
t = str[i];
tmp += t<<(8*i);
}