最近因为项目需求,需要从头开始学习c++,原来用过一些c,但对c++了解的比较少。所以如果有说错了地方还请大家多多指正
今天正在看c++的浮点数据类型,以下将学习笔记记录如下:
一、浮点数的由来
浮点数能够表示带小数部分的数字,如可以表示诸如2.5、3.14159和122442.32这样的数字。计算机将这样的值分成两部分存储。一部分表示值,另一部分用于对值进行缩小和放大。理解起来很抽象,下面通过具体的例子进行说明:
对于数字34.1245和34124.5,他们除了小数点的位置不同外,其他都是相同的。可以把第一个数表示为0.341245(基准值)和100(缩放因子),而将第二个数表示为0.341245(基准值)和1000(缩放因子)。缩放因子的作用是移动小数点。术语浮点因此而得名。
所谓缩放因子就是第二部分的对值进行缩小和放大的倍数。
c++中存储浮点数也是使用这样的机制。
二、c++中存储浮点数的方式
1、使用常用的的标准小数点表示法
如下的这些数据就是使用标准小数点表示法:
12.34
0.000001
88909.23
8.0
注意上面的8.0,想这种小数部分为0的,小数点也将确保该数字以浮点格式(而不是整数格式)表示
2、采用E表示法
如3.145E6,指的是3.145与1000000相乘的结果,E6指的是10的6次方,因此,3.145E6表示的是31450000,6被称为指数,3.145被称为尾数
采用E表示法,大写E和小写e都可以。
指数可以是正数也可以是负数,指数为正数时表示的是乘以10的乘方,指数为负数时表示除以10的乘方
记住:d.dddE+n表示小数点向右移动n位,d.dddE-n表示小数点向左移动n位。