龙空技术网

C++的浮点类型和布尔类型

荆楚奇侠 60

前言:

当前大家对“c语言的浮点类型”大约比较关注,姐妹们都想要分析一些“c语言的浮点类型”的相关知识。那么小编也在网摘上搜集了一些对于“c语言的浮点类型””的相关文章,希望各位老铁们能喜欢,看官们一起来了解一下吧!

一、浮点型和布尔型概述

浮点类型数据(float point),指的是有小数点的数据,比如3.14159, 1.45E2.

布尔类型(bool),指的是真(true)或假(false). 布尔型变量存储的值为1或0.

二、浮点型又细分为3种

1、单精度浮点型:关键字为 float,最少占用4字节,有6~9位有效数字,典型值为7位,例如 定义一个变量 float a= 12.34f, 或作为标识符单独出现的 12.34f。

2、双精度浮点型: 关键字为 double,最少占用8字节,有15~18位有效数字,典型值为16位,例如 12.34, 或double a = 12.34。 没有标明后缀f的小数,一般默认为double类型,因此,如果一个小数是单精度类型,在后面加f后缀,以清晰明确告诉编译器。又如一个整数, 如12, 会被默认为int类型,而12.0则会被默认为double类型。如果不注意这些细节,可能会涉及类型的隐式转换,带来精度的损失。

3、长双精度浮点型: 关键字为 long double,最少占用8字节,有18~36位有效数字

早期计算机内存容量少,倾向于“节约”内存,多用float而少用double。现代计算机,内存达到数十个G,在定义浮点型数据的时候,应该首选double类型,而不是float类型,因为float类型有效数字(即精度)比较低,容易出现舍入误差(float类型的数据从第8位数字就没有精度了,尤其在金融领域更要慎用float类型)。

三、布尔类型的变量,如何直接输入/输出falsetrue

为了输出true / false, 而不是1/0,需要加一条格式控制语句:

std::cout << std::boolalpha;

同样地,为了直接输入true / false 给布尔型变量,需要加入一条语句:

std::cin >> std::boolalpha;

关闭这个格式功能,则使用std::noboolalpha关键字。

【小结】本文介绍了在使用浮点型和布尔型数据时,需要注意的一些细节。

标签: #c语言的浮点类型