gpt4 book ai didi

c - 在C中获取 float 的指数

转载 作者:行者123 更新时间:2023-11-30 18:41:20 26 4
gpt4 key购买 nike

所以我试图返回 f 的指数值。如果 x 无穷大或 NaN,我需要返回 Tmax。 f 将被解释为单精度浮点值的位级表示,是的,我的意思是传递一个无符号变量。我知道我需要删除适当的偏差值。我就是不知道怎么办。我可以使用任何我想要的操作,但只能使用其中 8 个(= 不算)。

int float_exp(unsigned uf) {
int mask = 2139095040;
int hold;
hold = uf & mask;
if(mask == hold){
return Tmax;
} else {
return ;// something here???
}

}

我不知道如何获得指数。任何帮助将不胜感激!

最佳答案

检查浮点格式http://en.wikipedia.org/wiki/IEEE_754-1985

二进制指数位于第 23 位到第 30 位中。因此,在对 0x7F800000 进行掩码之后,正如您所做的那样,您只需将左侧的内容向右移动 23 位,就可以得到二进制指数。

然后通过减去它来调整偏差。

关于c - 在C中获取 float 的指数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22159832/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com