文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
2.1.2 实型
整数类型讲完应该讲小数类型了。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 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论