先进行名词解释
reinterpret_cast是C++里的强制类型转换符。该操作符修改了操作数类型,但仅仅是重新解释了给出的对象的比特模型而没有进行二进制转换。
以下这段话摘自 csdn网友 gzmhero
因为单精度浮点是32bits,而整型一般也是32bits的。所以直接将地址取出,按想要的格式输出即可实现单精度到整型的转化。
我的代码:
float x = 0.142578125;
float *p = &x;
printf("%x", *(reinterpret_cast<int *>(p)));
转换结果:3e120000