C++11 位运算符分隔字段

C++11 位运算符分隔字段,c++11,C++11,我正在编写一个程序,将以10为基数的浮点数转换为以2为基数的二进制表示形式。我知道我们不能在浮点数上使用位运算符,但我被告知如果我们使用强制转换将其转换为无符号整数,我们可以。使用无符号整数float_int=((无符号整数)&f)。我的作业说明,我们可以使用位运算符分离这两个字段。我已经试过了所有的方法,但是我不能想出一个能把数字和小数分开的解决方案 你的施法无效,也将被打断。为了正确起见,您应该将一个位复制(例如使用std::memcpy)放入一个足够大的char数组中,然后将另一个位复制到

我正在编写一个程序,将以10为基数的浮点数转换为以2为基数的二进制表示形式。我知道我们不能在浮点数上使用位运算符,但我被告知如果我们使用强制转换将其转换为无符号整数,我们可以。使用无符号整数float_int=((无符号整数)&f)。我的作业说明,我们可以使用位运算符分离这两个字段。我已经试过了所有的方法,但是我不能想出一个能把数字和小数分开的解决方案

你的施法无效,也将被打断。为了正确起见,您应该将一个位复制(例如使用
std::memcpy
)放入一个足够大的
char
数组中,然后将另一个位复制到一个合适的整数类型(例如对于32位
float
值,使用
uint32\u t
)。然后你就可以开始处理这些位了。以10为基数的浮点数的表示法是什么?我想如果你想在这项任务上得到帮助,你必须提供更多的信息。我怀疑您拥有的是一个文本字符串,需要转换为“float”类型的变量,但您必须澄清。您的强制转换无效,并且还会中断。为了正确起见,您应该将一个位复制(例如使用
std::memcpy
)放入一个足够大的
char
数组中,然后将另一个位复制到一个合适的整数类型(例如对于32位
float
值,使用
uint32\u t
)。然后你就可以开始处理这些位了。以10为基数的浮点数的表示法是什么?我想如果你想在这项任务上得到帮助,你必须提供更多的信息。我怀疑您拥有的是一个文本字符串,需要转换为“float”类型的变量,但您必须澄清。