C++如何将16进制赋值为浮点数

ゞ 浴缸里的玫瑰 2022-11-28 00:47 271阅读 0赞

一般情况下,我们在C++中将16进制形式赋值给整数类型,我们可以通过如下的操作:

  1. unsigned int aaa = 0x00000020;

但是如果直接将该16进制数赋值给浮点数,等同于如下操作

  1. float bbb = 0x00000020;
  2. float ccc = float(int(0x00000020));

可以看出来,编译器并不会以内存的形式来转换成float,而是先转换成 int 类型的,然后将此 数 强转为 float。

正确操作应该是如下:

  1. unsigned int aaa = 0x00000020;
  2. float bbb = *(float*)&aaa;

发表评论

表情:
评论列表 (有 0 条评论,271人围观)

还没有评论,来说两句吧...

相关阅读

    相关 C语言 转换1016

    实际上就是除16取余然后将其本身除以16,得到的这一个数将它转换为具体的16进制数字的过程,当然最后还要注意前面的字符位置的添加 / 进制之间互相转换:将十进制数字转