C++11标准模板(STL)- 常用数学函数 - 浮点数操作函数 - 检查第一个浮点参数是否大于等于第二个(std::isgreaterequal)

常用数学函数

检查第一个浮点参数是否大于等于第二个

复制代码
std::isgreaterequal

|-------------------------------------------------------------|---|---------|
| 定义于头文件 <math.h> | | |
| #define isgreaterequal(x, y) /* implementation defined */ | | (C99 起) |

确定浮点数 x 是否大于或等于浮点数 y ,而不设置浮点异常。

参数

|---|---|-----|
| x | - | 浮点值 |
| y | - | 浮点值 |

返回值

若 x >= y 则为非零整数值,否则为 ​0​ 。

注意

若一或两个参数为 NaN ,则内建的 operator>= 对浮点数可能引发 FE_INVALID 。此宏是 operator>= 的"安静"版本。

调用示例

复制代码
#include <iostream>
#include <cstdlib>
#include <typeinfo>
#include <cinttypes>
#include <cmath>
#include <math.h>
#include <tgmath.h>

int main()
{
    std::cout << std::boolalpha;

    //检查第一个浮点参数是否大于等于第二个
    for (int i = 0; i <= 10; i += 1)
    {
        const float fNumber = std::acos(-1) / 2 / i;
        const float fNumber1 = std::acos(fNumber) - i / 10;
        const float fNumber2 = std::asin(fNumber) + i / 10;
        std::cout << "std::isgreaterequal(" << fNumber1
                  << "," << fNumber2 << "):   "
                  << std::isgreaterequal(fNumber1, fNumber2) << std::endl;
    }
    std::cout << std::endl;

    for (int i = 0; i <= 10; i += 1)
    {
        const float fNumber = std::cos(-1) / 2 / i;
        const float fNumber1 = std::cos(fNumber) - i / 10;
        const float fNumber2 = std::sin(fNumber) + i / 10;
        std::cout << "std::isgreaterequal(" << fNumber1
                  << "," << fNumber2 << "):   "
                  << std::isgreaterequal(fNumber1, fNumber2) << std::endl;
    }
    std::cout << std::endl;

    for (int i = 0; i <= 10; i += 1)
    {
        const float fNumber = std::tan(i);
        const float fNumber1 = std::cos(fNumber) - i / 10;
        const float fNumber2 = std::sin(fNumber) + i / 10;
        std::cout << "std::isgreaterequal(" << fNumber1
                  << "," << fNumber2 << "):   "
                  << std::isgreaterequal(fNumber1, fNumber2) << std::endl;
    }

    return 0;
}

输出

复制代码
std::isgreaterequal(nan,nan):   false
std::isgreaterequal(nan,nan):   false
std::isgreaterequal(0.667457,0.903339):   false
std::isgreaterequal(1.01973,0.55107):   true
std::isgreaterequal(1.16723,0.403565):   true
std::isgreaterequal(1.25123,0.319571):   true
std::isgreaterequal(1.30591,0.264886):   true
std::isgreaterequal(1.34447,0.226327):   true
std::isgreaterequal(1.37316,0.197634):   true
std::isgreaterequal(1.39536,0.175431):   true
std::isgreaterequal(0.413063,1.15773):   false

std::isgreaterequal(nan,nan):   false
std::isgreaterequal(0.963731,0.266877):   true
std::isgreaterequal(0.990891,0.134665):   true
std::isgreaterequal(0.995948,0.0899287):   true
std::isgreaterequal(0.99772,0.0674865):   true
std::isgreaterequal(0.998541,0.0540039):   true
std::isgreaterequal(0.998987,0.04501):   true
std::isgreaterequal(0.999255,0.0385834):   true
std::isgreaterequal(0.99943,0.0337625):   true
std::isgreaterequal(0.99955,0.0300123):   true
std::isgreaterequal(-0.0003649,1.02701):   false

std::isgreaterequal(1,0):   true
std::isgreaterequal(0.0133882,0.99991):   false
std::isgreaterequal(-0.57634,-0.81721):   true
std::isgreaterequal(0.989857,-0.142064):   true
std::isgreaterequal(0.401336,0.915931):   false
std::isgreaterequal(-0.971594,0.236656):   false
std::isgreaterequal(0.957956,-0.286916):   true
std::isgreaterequal(0.643719,0.765262):   false
std::isgreaterequal(0.86954,-0.493862):   true
std::isgreaterequal(0.899437,-0.43705):   true
std::isgreaterequal(-0.202925,1.60388):   false
相关推荐
萧瑟余晖5 小时前
JDK 26 新特性详解
java·开发语言
马优晨5 小时前
Freemarker 完整讲解(后端 Java 模板引擎)
java·开发语言·freemarker·freemarker 完整讲解·freemarker模板引擎
fqbqrr7 小时前
2607C++,使用微软detours勾挂工具
c++
人邮异步社区7 小时前
怎么把C语言学到精通?
c语言·开发语言
爱刷碗的苏泓舒7 小时前
PPP-AR 中的参考星选取:数学原理、评价指标与切换处理
算法·gnss·模糊度固定·ppp-ar·星间单差·参考星·卫星端偏差
心平气和量大福大8 小时前
C#-WPF-控件-TextBox 数据绑定
开发语言·c#·wpf
ttwuai8 小时前
Cursor 生成 CRUD 后,Go 后台接口别只测 200:JWT、RBAC 和 tenant_id 怎么验
开发语言·后端·golang
এ慕ོ冬℘゜8 小时前
前端基础:什么是时间戳?JS获取时间戳三种方法与实战用途
开发语言·前端·javascript
执明wa8 小时前
LayoutInflater详解: XML是如何变成View的?
android·xml·开发语言·android studio
一次旅行8 小时前
Python+大模型端到端自动化日报系统
开发语言·python·自动化