相关疑难解决方法(0)

如何获取浮点数的符号,尾数和指数

我有一个程序,它运行在两个处理器上,其中一个没有浮点支持.所以,我需要在该处理器中使用固定点执行浮点计算.为此,我将使用浮点仿真库.

我需要首先在处理器上提取浮点数的符号,尾数和指数,它们支持浮点数.所以,我的问题是如何获得单个精度浮点数的符号,尾数和指数.

按照这个图的格式,

在此输入图像描述 这就是我到目前为止所做的,但除了符号,尾数和指数都不正确.我想,我错过了一些东西.

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;
}
Run Code Online (Sandbox Code Playgroud)

c floating-point emulation

41
推荐指数
5
解决办法
9万
查看次数

标签 统计

c ×1

emulation ×1

floating-point ×1