返回介绍

2.1.2 实型

发布于 2025-04-11 22:32:51 字数 1046 浏览 0 评论 0 收藏 0

整数类型讲完应该讲小数类型了。C 语言把这种带小数点的数值类型称为实型或浮点数类型。虽然实型与整型只有一字之差,但它却有和整型完全不同的内存存储方式,通过上一节的学习,我们知道了有符号整型的最高位是符号位,其他的都是数据位,对于无符号整型来讲,全部都是数据位。而实型却是分为三段进行存储的:符号位、阶码位、数据位。其中最高位是符号位,中间部分是阶码位(或称指数位),最后部分是数据位(或称尾数位),如图 2.2 所示。

图 2.2 实型内存存储示意图

这种类似于科学计数法的内存存储方式,能够轻松存储一个比较大的数值,并拥有非常大的取值范围,但是在数值的精度上可能会有所损失,毕竟鱼与熊掌不可兼得。由于实型的这种特殊的内存存储方式,导致在处理速度上没有整型的快,所以如果程序中不涉及小数的话,尽量还是选用整型。

实型按照内存大小分为单精度浮点数类型、双精度浮点数类型和长双精度浮点数类型,关键字分别为“float”“double”和“long double”。其中单精度浮点数类型,内存大小为 4 个字节,即 32 位(符号位 1 位,阶码位 8 位,数据位 23 位);双精度浮点数类型的内存大小为 8 字节,即 64 位(符号位 1 位,阶码位 11 位,数据位 52 位);长双精度浮点数类型是相对较新的一种实型,它拥有更大的数值表现和存储能力,但由于 C 标准并未对它的内存大小有所规定,所以在不同的系统和编译器上,可能被实现为各种不同字节大小的版本。实型的内存大小和取值范围如表 2.3 所示。

表 2.3 实型的内存大小和取值范围

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。