卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章64336本站已运行4115

c语言怎么判断浮点数

在 c 语言中判断浮点数的方法有两种:使用 isnan() 和 isinf() 函数检查 nan 和无穷值;使用 fmod() 函数计算余数,判断余数是否是有限值。

c语言怎么判断浮点数

如何在 C 语言中判断浮点数

浮点数是一种表示实数的计算机数据类型,用于存储带有小数部分的数字。在 C 语言中,判断一个值是否为浮点数有两种方法:

1. 使用 isnan() 和 isinf() 函数

  • isnan() 用来检查一个值是不是一个未定义的数 (NaN)。
  • isinf() 用来检查一个值是不是正无穷或负无穷。

这些函数返回一个非零值来表示真,或 0 来表示假。例如:

#include <math.h>

int main() {
  float x = NAN; // 未定义的数
  float y = INFINITY; // 正无穷

  if (isnan(x)) {
    printf("x 是一个未定义的数。n");
  }
  if (isinf(y)) {
    printf("y 是正无穷。n");
  }

  return 0;
}</math.h>

2. 使用 fmod() 函数

  • fmod() 函数计算两个浮点数之间的余数。如果余数是一个有限值,则该值是一个浮点数。如果余数是无穷或 NaN,则该值不是浮点数。

例如:

#include <math.h>

int main() {
  float x = 3.14; // 浮点数
  float y = INFINITY; // 无穷

  float remainder1 = fmod(x, 1.0); // 有限余数
  float remainder2 = fmod(y, 1.0); // 无穷余数

  if (isfinite(remainder1)) {
    printf("remainder1 是一个浮点数。n");
  } else {
    printf("remainder1 不是一个浮点数。n");
  }

  if (isfinite(remainder2)) {
    printf("remainder2 是一个浮点数。n");
  } else {
    printf("remainder2 不是一个浮点数。n");
  }

  return 0;
}</math.h>

上述代码将打印以下输出:

remainder1 是一个浮点数。
remainder2 不是一个浮点数。
卓越飞翔博客
上一篇: c语言怎么写随机浮点数
下一篇: c语言浮点数怎么处理
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏