目前,浮点数运算在当代的应用可谓是越来越广泛,浮点数运算是值得我们好好学习的,现在我们就深入了解浮点数运算。
IEEE二进制浮点数算术标准(IEEE 754)是1980年代以来最广泛使用的浮点数运算标准,为许多CPU与浮点运算器所采用。这个标准定义了表示浮点数的格式(包括负零-0)与反常值(denormal number)),一些特殊数值(无穷与非数值(NaN)),以及这些数值的“浮点数运算符”;它也指明了四种数值舍入规则和五种例外状况(包括例外发生的时机与处理方式)。
浮点数运算
如何判断浮点数运算的溢出?一般都是在允许的某个范围内认为像个浮点数相等,允许的误差范围为1e-6
bool float_equals(float a,float b)
{
if (abs(a-b)<=1e-6)
return true;
return false;
}
或者如果想判断小数点后4位精度试 可以先放大再判断
bool float_equals(float a,float b)
{
int tmpa=(int)(a *10000);
int tmpb=(int)(b *10000);
if (a==b)
return true;
return false;
}
浮点数运算
EEE 754规定了四种表示浮点数值的方式:单精确度(32位元)、双精确度(64位元)、延伸单精确度(43位元以上,很少使用)与延伸双精确度(79位元以上,通常以80位元实做)。只有32位元模式有强制要求,其他都是选择性的。大部分编程语言都有提供IEEE浮点数格式与算术,但有些将其列为非必需的。例如,IEEE 754问世之前就有的C语言,现在有包括IEEE算术,但不算作强制要求(C语言的float通常是指IEEE单精确度,而double是指双精确度)。
综上所述,本文已为讲解浮点数运算,相信大家对浮点数运算的认识越来越深入,希望本文能对各位读者有比较大的参考价值
浏览过本文<浮点数运算>的人也浏览了
浮点运算能力
http://baike.cntronics.com/abc/2857
什么是运算器
http://baike.cntronics.com/abc/5262
浮点数
http://baike.cntronics.com/abc/2111