实型(浮点型)

实型(浮点型)作用:实型,即浮点型,用于表示小数浮点型变量分为以下两种:单精度(float)双精度(double)两者区别在于表示的有效数字范围不同,比如:数字3.14,它的有效数字为3,1,4,即有效数字是3位数据类型占用空间有效数字范围flat4字节7位有效数字double8字

大家好,欢迎来到IT知识分享网。实型(浮点型)"

作用:实型, 即浮点型,用于表示小数

浮点型变量分为以下两种:
  单精度(float)
  双精度(double)

  两者区别在于表示的有效数字范围不同, 比如:数字3.14, 它的有效数字为3,1,4, 即有效数字是3位

数据类型 占用空间 有效数字范围
flat 4字节 7位有效数字
double 8字节 15~16位有效数字

 

 

 

 

 

单精度(float)

//定义float类型变量时,数值结尾处要追加一个字母f(f即float的第一个字母)
//如果没有f,则编译器默认该数字为double类型,用8个字节空间来存放数字,然后将double转成float,这样精度可能会有损失
//如果有f,则编译器会用4个字节空间来存放数字,强制表示为float
float f1 = 3.14f; //f1为float类型
float f2 = 3.14; //3.14被默认为是double类型,并最后强制转换为float类型
sizeof(f1);  //返回4
sizeof(f2);  //返回4, 存储空间不会因为小数后面没有f而变成8,存储空间只跟类型有关

 

为什么定义float类型变量,数字后面要追加f
  不加f,数字会被默认为double类型,从double类型转成float类型是高精度转换为低精度,因此会出警告
  当数值较小时,是没有问题的,不会出现数据丢失的情况
  当数值较大时,由于是高精度转向低精度,就可能会出现数据丢失的情况

 

双精度(double)

//定义double类型变量时,数值结尾处无需额外追加字母,当小数结尾没有任何字母,则编译器默认其为double类型
double d1 = 3.14;  //不需要额外加d
sizeof(d1); //返回8

 

默认显示小数位数

  float和double在默认情况下,都只显示6位有效数字

float f3 = 3.1415926f; //只返回3.14159,只显示6位
double d1 = 3.1415926; //只返回3.14159,只显示6位

 

科学计数法

float f1 = 3e2; // 返回300,即3乘以10的2次方
float f2 = 3e-2;  //返回0.03,即3乘以0.1的2次方

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/30478.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信