什么是浮点数啊?
浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。
具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学计数法。
扩展资料:
浮点计算:是指浮点数参与的运算,这种运算通常伴随着因为无法精确表示而进行的近似或舍入。
一个浮点数a由两个数m和e来表示:a = m × b^e。在任意一个这样的系统中,我们选择一个基数b(记数系统的基)和精度p(即使用多少位来存储)。
m(即尾数)是形如±d.ddd...ddd的p位数(每一位是一个介于0到b-1之间的整数,包括0和b-1)。如果m的第一位是非0整数,m称作规格化的。
有一些描述使用一个单独的符号位(s 代表+或者-)来表示正负,这样m必须是正的。e是指数。
例子:
判断两个浮点数是否相等。
在这个例子中我们以C++代码来判别两个浮点数是否相等。由于浮点数在存储中无法精确表示,所以 fp1==fp2 无法准确的判断float型变量fp1与fp2是否相等。应该使用 (fp1-fl2)<0.0000001 来进行判断。
示例:
bool equal(float fp1,float fp2)
{
if( abs( fp1 - fp2 ) < 0.00000001 ) return true;
else
return false;
}
参考资料:百度百科---浮点数