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

C标准库--浮点<float.h>

文章目录

  • 简介
  • 库宏
    •    单精度浮点数(float)
    •    双精度浮点数(double)
    •    扩展精度浮点数(long double)
  • 实例

简介

   <float.h> 是 C 标准库中的一个头文件,定义了与浮点数类型(float、double 和 long double)相关的宏。这些宏提供了浮点数的特性和限制,例如最大值、最小值、精度等。
   <float.h> 提供了一组宏,用于描述浮点数类型的特性和限制。通过使用这些宏,我们可以编写更健壮的代码,处理与浮点数相关的边界情况和特殊情况。
   C 标准库的 float.h 头文件包含了一组与浮点值相关的依赖于平台的常量。这些常量是由 ANSI C 提出的,这让程序更具有可移植性。在讲解这些常量之前,最好先弄清楚浮点数是由下面四个元素组成的:
  在这里插入图片描述
   基于以上 4 个组成部分,一个浮点数的值如下:
      floating-point = ( S ) p x be
   或
      floating-point = (+/-) precision x baseexponent

库宏

   下面的值是特定实现的,且是通过 #define 指令来定义的,这些值都不得低于下边所给出的值。请注意,所有的实例 FLT 是指类型 float,DBL 是指类型 double,LDBL 是指类型 long double。

   单精度浮点数(float)

    在这里插入图片描述

   双精度浮点数(double)

    在这里插入图片描述

   扩展精度浮点数(long double)

    在这里插入图片描述

实例

		#include <stdio.h>#include <float.h>int main() {printf("Single precision (float):\n");printf("FLT_RADIX: %d\n", FLT_RADIX);printf("FLT_MANT_DIG: %d\n", FLT_MANT_DIG);printf("FLT_DIG: %d\n", FLT_DIG);printf("FLT_MIN_EXP: %d\n", FLT_MIN_EXP);printf("FLT_MIN_10_EXP: %d\n", FLT_MIN_10_EXP);printf("FLT_MAX_EXP: %d\n", FLT_MAX_EXP);printf("FLT_MAX_10_EXP: %d\n", FLT_MAX_10_EXP);printf("FLT_MAX: %e\n", FLT_MAX);printf("FLT_MIN: %e\n", FLT_MIN);printf("FLT_EPSILON: %e\n", FLT_EPSILON);printf("\nDouble precision (double):\n");printf("DBL_MANT_DIG: %d\n", DBL_MANT_DIG);printf("DBL_DIG: %d\n", DBL_DIG);printf("DBL_MIN_EXP: %d\n", DBL_MIN_EXP);printf("DBL_MIN_10_EXP: %d\n", DBL_MIN_10_EXP);printf("DBL_MAX_EXP: %d\n", DBL_MAX_EXP);printf("DBL_MAX_10_EXP: %d\n", DBL_MAX_10_EXP);printf("DBL_MAX: %e\n", DBL_MAX);printf("DBL_MIN: %e\n", DBL_MIN);printf("DBL_EPSILON: %e\n", DBL_EPSILON);printf("\nExtended precision (long double):\n");printf("LDBL_MANT_DIG: %d\n", LDBL_MANT_DIG);printf("LDBL_DIG: %d\n", LDBL_DIG);printf("LDBL_MIN_EXP: %d\n", LDBL_MIN_EXP);printf("LDBL_MIN_10_EXP: %d\n", LDBL_MIN_10_EXP);printf("LDBL_MAX_EXP: %d\n", LDBL_MAX_EXP);printf("LDBL_MAX_10_EXP: %d\n", LDBL_MAX_10_EXP);printf("LDBL_MAX: %Le\n", LDBL_MAX);printf("LDBL_MIN: %Le\n", LDBL_MIN);printf("LDBL_EPSILON: %Le\n", LDBL_EPSILON);return 0;}
	运行结果:Single precision (float):FLT_RADIX: 2FLT_MANT_DIG: 24FLT_DIG: 6FLT_MIN_EXP: -125FLT_MIN_10_EXP: -37FLT_MAX_EXP: 128FLT_MAX_10_EXP: 38FLT_MAX: 3.402823e+38FLT_MIN: 1.175494e-38FLT_EPSILON: 1.192093e-07Double precision (double):DBL_MANT_DIG: 53DBL_DIG: 15DBL_MIN_EXP: -1021DBL_MIN_10_EXP: -307DBL_MAX_EXP: 1024DBL_MAX_10_EXP: 308DBL_MAX: 1.797693e+308DBL_MIN: 2.225074e-308DBL_EPSILON: 2.220446e-16Extended precision (long double):LDBL_MANT_DIG: 64LDBL_DIG: 18LDBL_MIN_EXP: -16381LDBL_MIN_10_EXP: -4931LDBL_MAX_EXP: 16384LDBL_MAX_10_EXP: 4932LDBL_MAX: 1.189731e+4932LDBL_MIN: 3.362103e-4932LDBL_EPSILON: 1.084202e-19
http://www.dtcms.com/a/496078.html

相关文章:

  • 大学生兼职做网站做行业导航网站好
  • 怎样做个网站手机网页视频下载软件
  • 麻涌镇做网站医疗器械注册证查询
  • 青浦郑州阳网站建设邹城网站建设
  • 状态机的介绍
  • 算法---位运算
  • 如何使用python创建和维护sqlite3数据库
  • 顺德手机网站设计咨询用什么做网站后台
  • 深圳企业网站建设服务网站客户需求分析
  • 大模型 | VLM 初识及在自动驾驶场景中的应用
  • Android CarService调试操作
  • 建设部网站哪里可以报名考监理员聚名网域名注册官网
  • 一个坐标转换
  • 南京文化云网站建设群晖nda做网站
  • 网站开发一次性费用国外服务器免费ip地址
  • 一个虚拟空间做两个网站网站开发的技术流程图
  • wordpress建站全教程设计师网站资源
  • 公司网站建设记哪个科目网站目的
  • 连云港网站建设费用wordpress flash插件下载
  • 做模型找三视图那些网站深圳做网站收费
  • 不建议网站北京优化核酸检测
  • 网站的开发语言有哪些鞍钢建设集团网站
  • 山东省某三甲医院基于分类分级的数据安全防护建设实践
  • (六)构建多智能体旅行客服-如何切换智能体角色
  • SpringCloud-基础
  • 如何将一加手机的文件传输到 Mac
  • 使用腾讯云云开发(CloudBase)的云函数,删除云存储中指定目录下的过期文件
  • 佛山网站开发公司电话盐山建网站
  • 青岛 机械 中企动力提供网站建设网络营销有什么行业
  • react+springboot的Docker部署