【C语言】学习笔记 第7章 基本类型 7.2 浮点类型 爱被打了一巴掌 2024-03-22 09:15 64阅读 0赞 ### 【C语言】学习笔记 ### #### 文章目录 #### * * 【C语言】学习笔记 * * 第7章 基本类型 * * 7.2 浮点类型 * * 7.2.1 浮点常量 * 7.2.2 读/写浮点数 #### 第7章 基本类型 #### ![在这里插入图片描述][054f15bd25fc4c408443674731ce376c.png_pic_center] 计算机处理的是数而不是符号。我们用对行为的算术化程度 来衡量我们的理解力(和控制力)。 ##### 7.2 浮点类型 ##### 整数类型并不适用于所有应用。有些时候需要变量能存储带小数点的数,或者能存储极大 数或极小数。 C 语言提供 了 3 种浮点类型,对应三种不同的浮点格式 * float:单精度浮点数。 * double:双精度浮点数。 * long double:扩展精度浮点数。 当精度要求不严格时(例如,计算带一位小数的温度),float 类型是很适合的类型。 double 提供更高的精度,对绝大多数程序来说够用了。long double 支持极高精度的要求, 很少会用到。 C 标准没有说明 float、double 和 long double 类型提供的精度**到底是多少**,因为**不同 计算机可以用不同方法存储浮点数。** 根据 IEEE 标准实现的浮点类型特征: ![在这里插入图片描述][05065606919046e6b586c124ca1dd8d0.png_pic_center] > long double 类型的长度随着机 器的不同而变化,而最常见的大小是 80 位和 128 位。 在 C99中,浮点类型分为两种: * 一种是实浮点类型,包括 `float`、`double`和 `long double` 类型; * 另一种是 C99 新增的复数类型 `float _Complex`、`double _Complex` 和 `long double _Complex` ###### 7.2.1 浮点常量 ###### 浮点常量可以有许多种书写方式。例如,下面这些常量全都是表示数 `57.0` 的有效方式: 57.0 57. 57.0e0 57E0 5.7e1 5.7e+1 .57e2 570.e-1 浮点常量**必须包含小数点或指数**;其中,指数指明了对前面的数进行缩放所需的 10 的幂次。 如果有指数,则需要在指数数值前放置字母 E(或 e)。可选符号+或-可以出现在字母 E(或 e) 的后边。 **默认情况下,浮点常量以双精度数的形式存储。换句话说,当 C 语言编译器在程序中发现 常量 57.0 时, 它会安排数据以 double 类型变量的格式存储在内存中。这条规则通常不会 引发任何问题,因为在需要时 double 类型的值可以自动转换为 float 类型值。** * 为了表明只需要单精度,可以在常量的末尾处加上字母 F 或 f(如 57.0F); * 为了说明 常量必须以 long double 格式存储,可以在常量的末尾处加上字母 L 或 l(如 57.0L) C99 提供了十六进制浮点常量的书写规范。 十六进制浮点常量以 0x 或 0X 开头 (跟十六进制整型常量类似)。这一特性很少用到。 ###### 7.2.2 读/写浮点数 ###### 其实前面我们已经接触过一些: ![在这里插入图片描述][54e1bf925dd84b86bf1b3f0a22f2cdce.png_pic_center] 转换说明`%e`、`%f` 和`%g` 用于读写单精度浮点数。读写 double 和 long double 类型的值所需的转换说明略有不同。 * 读取 double 类型的值时,在 e、f 或 g 前放置字母 l: double d; scanf("%lf", &d); 注意: 只能在 scanf 函数格式串中使用 `l`,不能在 printf 函数格式串中使用。在 printf 函数格式串中,转换 e、f 和 g 可以用来写 float 类型或 double 类型的值。 ( C99 允许 printf 函数调用中使用%le、%lf 和%lg,**不过字母 l 不起作用。** * 读写 long double 类型的值时,在 e、f 或 g 前放置字母 L: long double ld; scanf("%Lf", &ld); printf("%Lf", ld); [054f15bd25fc4c408443674731ce376c.png_pic_center]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/22/c0f01ba1cd0e4fa29fd550c3b76e581d.png [05065606919046e6b586c124ca1dd8d0.png_pic_center]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/22/7f7e91ae3d3340c98828fb59533ba6ce.png [54e1bf925dd84b86bf1b3f0a22f2cdce.png_pic_center]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/22/ab6e6b18472c46e7a10e8e4c7ac3697d.png
相关 【C语言】学习笔记 第2章 C语言基本概念 2.7 标识符 【C语言】学习笔记 文章目录 【C语言】学习笔记 第2章 C语言基本概念 2.7 标识符 旧城等待,/ 2024年03月23日 16:18/ 0 赞/ 36 阅读
相关 【C语言】学习笔记 第7章 基本类型 编程题 【C语言】学习笔记 文章目录 【C语言】学习笔记 第7章 基本类型 编程题 第7章 基本类型 ! Bertha 。/ 2024年03月22日 09:15/ 0 赞/ 65 阅读
相关 【C语言】学习笔记 第7章 基本类型 7.6 sizeof运算符 【C语言】学习笔记 文章目录 【C语言】学习笔记 第7章 基本类型 7.6 sizeof运算符 第7 古城微笑少年丶/ 2024年03月22日 09:15/ 0 赞/ 62 阅读
相关 【C语言】学习笔记 第7章 基本类型 7.4 类型转换 【C语言】学习笔记 文章目录 【C语言】学习笔记 第7章 基本类型 7.4 类型转换 小咪咪/ 2024年03月22日 09:15/ 0 赞/ 77 阅读
相关 【C语言】学习笔记 第7章 基本类型 7.5 类型定义 【C语言】学习笔记 文章目录 【C语言】学习笔记 第7章 基本类型 7.5 类型定义 一时失言乱红尘/ 2024年03月22日 09:15/ 0 赞/ 62 阅读
相关 【C语言】学习笔记 第7章 基本类型 7.3 字符类型 【C语言】学习笔记 文章目录 【C语言】学习笔记 第7章 基本类型 7.3 字符类型 素颜马尾好姑娘i/ 2024年03月22日 09:15/ 0 赞/ 61 阅读
相关 【C语言】学习笔记 第7章 基本类型 7.2 浮点类型 【C语言】学习笔记 文章目录 【C语言】学习笔记 第7章 基本类型 7.2 浮点类型 爱被打了一巴掌/ 2024年03月22日 09:15/ 0 赞/ 65 阅读
相关 【C语言】学习笔记 第7章 基本类型 7.1 整数类型 【C语言】学习笔记 文章目录 【C语言】学习笔记 第7章 基本类型 7.1 整数类型 迷南。/ 2024年03月22日 09:15/ 0 赞/ 67 阅读
相关 浮点类型 浮点类型 1.概述 \--浮点类型用于表示小数的数据类型。 \--浮点数的原理:也就是二进制科学计数法。 \--Java的浮点类型有float和do 旧城等待,/ 2022年06月08日 06:17/ 0 赞/ 307 阅读
相关 Java基本数据类型-浮点类型 `package` `com.java1234.chap02;` `public` `class` `Demo02 {` ```public` `static` `void 绝地灬酷狼/ 2022年03月18日 13:14/ 0 赞/ 273 阅读
还没有评论,来说两句吧...