(三)浮点数
1.浮点数是c++的第二组基本类型
浮点数能够表示小数,非常大和非常小的数,因此,对浮点数比较大小就要慎重,并没有绝对的==来对浮点数进行比较。术语“浮点”表示它可以使用缩放因子来放大或缩小数值。比如100000000就是一种正常表示方法,用十进制也需要9位才能装的下,而如果我用这种形式:1!8(仅仅是假设)表示1后面有8个零从而表示一亿的话就可以只使用3位就可以装下了,这就是浮点的意思。
2.书写浮点数
标准小数点表示方法:即使小数部分为0( 如 8.0 ),小数点和一位小数也要写上,小数点也将确保该数字以浮点格式(而不是整数格式)表示。
e表示法,即使没有小数点,e表示法表示的也是浮点数,e可以大写也可以小写,如8.33e-4,2.33E3,但是数字中间不能有空格,比如2.2 e2就是错误的写法。e后面可以是正数也可以是负数,表示10的几次方。
3.浮点类型
有三种浮点类型,float,double ,long double,其中float一般32位(至少32位)能保证至少6位有效数字,指数范围是-37到+37。double有64位(至少48位且至少和float相等)能保证至少15位有效数字,long double更多(至少和double一样多,用的不是很多,我们不去深究)。
可以从cfloat头文件中找到相应的符号常量来表示相应的限制,比如DBL_DIG表示的就最低的有效位数,比如float至少6位有效数字;而DBL_MANT_DIG表示的是定点部分的位数(二进制位的个数),也就是通常的有效位数的二进制位数;还有DBL_MIN_10_EXP表示的就是10为底的指数的最大和最小值。
4.浮点常量
浮点常量指的是字面值,也就是一串代表浮点数的数字,格式要用上面书写浮点数的方法来书写。默认的浮点常量的类型是double型(比如3.43就是double类型),如果想要用float型或者long double型,需要在数字后面加上F,f,或者L,l。浮点运算的速度通常比整型运算慢,且精度要降低(精度降低是因为数据类型本身的精度有问题,对此有兴趣可以查看计算机科学计算相关的数学知识)。
高 。 远
网友评论