Re: [问题] hex to float疑问

楼主: pttworld (批踢踢世界)   2016-10-15 17:54:57
※ 引述《Hao0228 (Hao0228)》之铭言:
: 各位版大好...想请教一个问题
: 假设我想指定一个hex给一个float变量
: 比如说...0xBF9DF3B6 在float内是 -1.234
: 写了一段测试的程式
: uint32_t i = 0xBF9DF3B6;
: float f = *(float*)&i;
: cout << f << endl;
: float f2 = 0xBF9DF3B6;
: cout << f2 << endl;
: 执行结果
: f : -1.234
: f2 : 3.2148e+09
: 一直搞不太懂为什么非得用float *转型呢?
: 还请各位版大能为小弟解惑...谢谢!!
建议原po清楚以下程式的观念。
#include <iostream>
#include <cstdint>
int main() {
short j = (short)0xF3B6;
std::cout << (int)j << std::endl;
std::cout << (uint32_t)j << std::endl;
float f = *(float*)&j;
std::cout << f << std::endl;
double f2 = j;
std::cout << f2 << std::endl;
return 0;
}

Links booklink

Contact Us: admin [ a t ] ucptt.com