C++如何将16进制赋值为浮点数
一般情况下,我们在C++中将16进制形式赋值给整数类型,我们可以通过如下的操作:
unsigned int aaa = 0x00000020;
但是如果直接将该16进制数赋值给浮点数,等同于如下操作
float bbb = 0x00000020;
float ccc = float(int(0x00000020));
可以看出来,编译器并不会以内存的形式来转换成float,而是先转换成 int 类型的,然后将此 数 强转为 float。
正确操作应该是如下:
unsigned int aaa = 0x00000020;
float bbb = *(float*)&aaa;
还没有评论,来说两句吧...