当前位置: 首页 > news >正文

罗湖做网站公司中国建设银行官网站纪念币

罗湖做网站公司,中国建设银行官网站纪念币,装修效果图实景案例,旅游网页设计论文5000字常用数学函数 对给定的浮点值分类 std::fpclassify 定义于头文件 <math.h> #define fpclassify(arg) /* implementation defined */ (C99 起) 归类浮点值 arg 到下列类别中&#xff1a;零、非正规、正规、无穷大、 NaN 或实现定义类别。该宏返回整数值。 忽略 FLT_EV…

常用数学函数

对给定的浮点值分类

std::fpclassify

定义于头文件 <math.h>

#define fpclassify(arg) /* implementation defined */

(C99 起)

归类浮点值 arg 到下列类别中:零、非正规、正规、无穷大、 NaN 或实现定义类别。该宏返回整数值。

忽略 FLT_EVAL_METHOD :即使以多于参数类型的范围和精度对它求值,首先仍将它转换到其语义类型,然后分类基于该类型:正规的 long double 值可能在转换到 double 时变为非正规,而在转换到 float 时变为零。

参数

arg-浮点值

返回值

指明 arg 类别的 FP_INFINITE 、 FP_NAN 、 FP_NORMAL 、 FP_SUBNORMAL 、 FP_ZERO 或实现定义类型之一。

#define FP_NAN		0x0100
#define FP_NORMAL	0x0400
#define FP_INFINITE	(FP_NAN | FP_NORMAL)
#define FP_ZERO		0x4000
#define FP_SUBNORMAL	(FP_NORMAL | FP_ZERO)

可能实现

namespace GGX
{
using namespace std;
constexpr int
fpclassify(float __x)
{return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL,FP_SUBNORMAL, FP_ZERO, __x);
}constexpr int
fpclassify(double __x)
{return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL,FP_SUBNORMAL, FP_ZERO, __x);
}constexpr int
fpclassify(long double __x)
{return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL,FP_SUBNORMAL, FP_ZERO, __x);
}template<typename _Tp>
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,int>::__typefpclassify(_Tp __x)
{return __x != 0 ? FP_NORMAL : FP_ZERO;
}
}

调用示例

#include <iostream>
#include <cstdlib>
#include <typeinfo>
#include <cinttypes>
#include <cmath>
#include <math.h>
#include <tgmath.h>
#include <stdio.h>
#include <math.h>
#include <float.h>const char *show_classification(double x)
{//归类浮点值 arg 到下列类别中:零、非正规、正规、无穷大、 NaN 或实现定义类别。switch (std::fpclassify(x)){case FP_INFINITE:return "Inf";case FP_NAN:return "NaN";case FP_NORMAL:return "normal";case FP_SUBNORMAL:return "subnormal";case FP_ZERO:return "zero";default:return "unknown";}
}int main(void)
{std::cout << "show_classification(1.0/0.0) is " << show_classification(1 / 0.0) << std::endl;std::cout << "show_classification(0.0/0.0) is is " << show_classification(0.0 / 0.0) << std::endl;std::cout << "show_classification(DBL_MIN/2) is is " << show_classification(DBL_MIN / 2) << std::endl;std::cout << "show_classification(-0.0 is is) " << show_classification(-0.0) << std::endl;std::cout << "show_classification(1.0 is is) " << show_classification(1.0) << std::endl;std::cout << std::endl;std::cout << "std::fpclassify(1.0/0.0) is " << std::fpclassify(1 / 0.0) << std::endl;std::cout << "std::fpclassify(0.0/0.0) is is " << std::fpclassify(0.0 / 0.0) << std::endl;std::cout << "std::fpclassify(DBL_MIN/2) is is " << std::fpclassify(DBL_MIN / 2) << std::endl;std::cout << "std::fpclassify(-0.0) is " << std::fpclassify(-0.0) << std::endl;std::cout << "std::fpclassify(1.0) is " << std::fpclassify(1.0) << std::endl;std::cout << std::endl;std::cout << std::hex;std::cout << "std::fpclassify(1.0/0.0) is " << std::fpclassify(1 / 0.0) << std::endl;std::cout << "std::fpclassify(0.0/0.0) is is " << std::fpclassify(0.0 / 0.0) << std::endl;std::cout << "std::fpclassify(DBL_MIN/2) is is " << std::fpclassify(DBL_MIN / 2) << std::endl;std::cout << "std::fpclassify(-0.0) is " << std::fpclassify(-0.0) << std::endl;std::cout << "std::fpclassify(1.0) is " << std::fpclassify(1.0) << std::endl;std::cout << std::endl;printf("show_classification(1.0/0.0) is %s\n", show_classification(1 / 0.0));printf("show_classification(0.0/0.0) is %s\n", show_classification(0.0 / 0.0));printf("show_classification(DBL_MIN/2) is %s\n", show_classification(DBL_MIN / 2));printf("show_classification(-0.0) is %s\n", show_classification(-0.0));printf("show_classification(1.0) is %s\n", show_classification(1.0));std::cout << std::endl;return 0;
}

输出

show_classification(1.0/0.0) is Inf
show_classification(0.0/0.0) is is NaN
show_classification(DBL_MIN/2) is is subnormal
show_classification(-0.0 is is) zero
show_classification(1.0 is is) normalstd::fpclassify(1.0/0.0) is 1280
std::fpclassify(0.0/0.0) is is 256
std::fpclassify(DBL_MIN/2) is is 17408
std::fpclassify(-0.0) is 16384
std::fpclassify(1.0) is 1024std::fpclassify(1.0/0.0) is 500
std::fpclassify(0.0/0.0) is is 100
std::fpclassify(DBL_MIN/2) is is 4400
std::fpclassify(-0.0) is 4000
std::fpclassify(1.0) is 400show_classification(1.0/0.0) is Inf
show_classification(0.0/0.0) is NaN
show_classification(DBL_MIN/2) is subnormal
show_classification(-0.0) is zero
show_classification(1.0) is normal

http://www.yayakq.cn/news/264339/

相关文章:

  • wordpress怎么修改图片佛山网站优化推广方案
  • 程序员开源网站做家教有什么网站
  • 网站QQ互联教程空投糖果网站开发
  • 泰宁县建设局网站秦皇岛海三建设工程集团
  • 烟台开发区网站户型图在线设计网站
  • 网站网站制作网站廊坊网页模板建站
  • 网站优化软件方案网站微信推广方案
  • 建立网站服务器杭州尚层别墅装饰公司
  • 服装高端网站建设青柠影视免费高清电视剧
  • 网站开发制作平台给公司网站做seo
  • 太原市给企业做网站个人简介ppt模板
  • 网站关键词做排名不分福州网页模板建站
  • 网站备案做网站必须基于python网站开发
  • 网站开发详细介绍无锡网站App微信
  • 谁有做那事的网站福利博客wordpress
  • 医疗今科云平台网站建设技术开发海南行指海口网站开发
  • 最好的网站模板下载网站济南营销型网站公司
  • 网站运营预期效果中国企业报官网
  • 局网站建设工作网页设计与制作dw教程
  • 网站怎样做网银支付国家对小微企业扶持2022政策
  • 学做网站教程帮客户做传销网站
  • ps手绘网站有哪些表白网页代码
  • 湖南建设门户网站wordpress入侵方法
  • 湖北网站贵州安顺网站建设
  • 网站后缀是nl是哪个国家网站正在建设中yuss
  • asp.net网站开发安康市110报警平台
  • 建设网站需要花费什么费用网络营销课程论文
  • 夸克看网站要钱吗如何做网络推广公司
  • 如何做幸运28网站代理网站设计制作程序
  • 自己在网上怎么做网站jekyll wordpress