大家好,欢迎来到IT知识分享网。
一、浮点型和布尔型概述
浮点类型数据(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类型)。
三、布尔类型的变量,如何直接输入/输出false和true?
为了输出true / false, 而不是1/0,需要加一条格式控制语句:
std::cout << std::boolalpha;
同样地,为了直接输入true / false 给布尔型变量,需要加入一条语句:
std::cin >> std::boolalpha;
关闭这个格式功能,则使用std::noboolalpha关键字。
【小结】本文介绍了在使用浮点型和布尔型数据时,需要注意的一些细节。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/76981.html