c – 使用具有浮动类型的bitset

你有浮动数据类型的bitset容器吗?例:

bitset<sizeof(float)*sizeof(char)> second(5.5f);
cout << second.to_string() << endl;

它无法正常工作.我想要做的是获得位代表.

解决方法:

bitset只使用unsigned long作为其构造函数参数.在您的示例中,float被转换为unsigned long,然后用作参数.

要获得您想要的东西,请使用以下内容:

float f = 5.5f;
std::bitset<sizeof(float)*CHAR_BIT> foo(*reinterpret_cast<unsigned long*>(&f));

这将浮点数作为包含无符号长整数的内存重新解释为“内存”,从而“欺骗”构造函数.

上一篇:(转)C++ bitset用法


下一篇:Mybatis 删除多条数据XML SQL语句删除