求出所有100以下整数与一位小数相乘等于相加的浮点数这个有Bug浮点数计算时精度会出现误差 除非使用非常精确的类型或限制浮点的位数 比如 #include <iostream> int main() { using std::cout; using std::endl; unsigned ; double b; double temp; ) { b = ; ) { temp = ; ) { if (a + b + temp == a * (b + temp)) cout << a
var a = 0.3-0.2; -0.3; alert(a + "&" + b); if (a == b) { alert("true"); } else { alert("false"); } 0.09999999999999998&0.10000000000000003 结果为false avaScript 只有一种数字类型 Number ,而且在Javascript中所有的数字都是以IEEE-754标准格式表示的. 浮点数
Number类型: Number类型是ECMAScript中最常用和最令人关注的类型了:这种类型使用IEEE754格式来表示整数和浮点数值(浮点数值在某些语言中也被成为双精度数值),为支持各种数据类型,ECMA-262定义了不同的数值面量格式. 十进制: var intNum=10; //整数 八进制: var octalNum1=070; //八进制的56 var octalNum2=079; //无效的八进制数值-解析为79 八进制字面量在严格模式下是无效的: 十六进制: var hexNu