gpt4 book ai didi

c - 如何在 c 中生成 NaN float ?

转载 作者:太空狗 更新时间:2023-10-29 16:29:09 25 4
gpt4 key购买 nike

float f = (float)'a';
if(f < 0){
}
else if(f == 0){
}
else if(f > 0){
}
else{
printf("NaN\n");
}

f 如果是 NaN,则不会大于/等于/小于 0

但是如何首先生成这样的 f 呢?

我尝试了各种方法来生成 NaN,但都没有用..

最佳答案

要生成一个 nan,有几种方法:

1) 手动生成它(阅读 ieee754 以正确设置位)

2) 使用宏。 GCC 公开了一个宏 NAN。它在 math.h 中定义

检查 nan 的一般方法是检查 if (f == f)(对于 nan 值应该失败)

对于nan,float表示中的指数位都应该设置为1(float由一个有符号位、一组指数位和一组尾数位组成)

关于c - 如何在 c 中生成 NaN float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7212356/

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