我有一个在两个处理器上运行的程序,其中一个没有浮点支持。因此,我需要使用该处理器中的定点执行浮点计算。为此,我将使用浮点仿真库。
我首先需要提取处理器上支持浮点数的浮点数的符号,尾数和指数。因此,我的问题是如何获取单个精度浮点数的符号,尾数和指数。
在此处输入图片说明 到目前为止,这就是我所做的,但是除符号外,尾数和指数均不正确。我认为,我缺少了一些东西。
void getSME( int& s, int& m, int& e, float number )
{
unsigned int* ptr = (unsigned int*)&number;
s = *ptr >> 31;
e = *ptr & 0x7f800000;
e >>= 23;
m = *ptr & 0x007fffff;
}
白衣染霜花
相关分类