浮点到二进制转换

时间:2015-03-27 18:03:24

标签: c++ bitset

我正在开发一个使用IEEE 754格式将任何实数转换为二进制的项目 我的第一个试验是使用bitset库类型来转换数字,然后我可以担心将整数分成符号位,指数和尾数。

int foo;
cin >> foo;

bitset<32> my_bit(foo);

事实证明,bitset仅适用于signed个整数 如何包含浮点数?
我可以使用与bitset一样简单的其他库类型来完成我的任务吗?

1 个答案:

答案 0 :(得分:2)

实际上,bitset constructor accepts unsigned long in C++ 03 and unsigned long long in C++ 11。 现在,至于在float中存储bitset,这应该可以解决问题:

float f = 0.0f;
cin >> f;
bitset<32> my_bit(*(uint32_t*)&f); // my_bit? What kind of a name is that, anyway?..