javascript算术运算溢出

简介:

js中的算术在溢出overflow,下溢underflow或被0整除时不会报错。
当数字结果超过了数字上限时,结果为一个特殊的无穷大(infinity)值,在js中以Infinity表示;同理,当负数超出了负数表示范围,则结果为负无穷大,在js中用-Infinity表示。
下溢是当运算结果无限接近于0并比js能表示的最小值还小时发生的一种情形。这种情况下,js会返回0;当负数发生下溢时,js韩慧一个特殊的值“负零”,这个负零几乎和正常的零完全一样,一般很少用到负零。
被0整除在js中不报错:只是返回无穷大或负无穷大。但有一个例外,就是0除以0是没有意义的,这种运算结果为一个非数字(not a number)值,yogaNaN表示。无穷大除以无穷大,给任意负数开方或算术运算符与不是数字或无法转换为数字的操作数一起使用时都返回NaN。
js中的NaN有一点特殊:它和任何值都不相同,包括自身。即无法通过x==NaN判断x是否为NaN;相反应该使用x!=x来判断。函数isNaN()与此类似;js中有一个类似的函数isFinite(),在参数不是NaN、Infinity或-Infinity时返回true。
负零值通用有些特殊,它和正零值是相同的,即使使用js的严格相等测试来判断也是相同的。

var zero = 0;
var nz = -0;
zero === nz;    //true
1/zero === 1/nz;//false,负无穷大不等于无穷大。
相关文章
|
1月前
|
JavaScript 前端开发
JavaScript随手笔记 --- 用正则表达式匹配字符串是否为运算公式
JavaScript随手笔记 --- 用正则表达式匹配字符串是否为运算公式
|
18天前
|
JavaScript 前端开发 大数据
数字太大了,计算加法、减法会报错,结果不正确?怎么办?用JavaScript实现大数据(超过20位的数字)相加减运算。
数字太大了,计算加法、减法会报错,结果不正确?怎么办?用JavaScript实现大数据(超过20位的数字)相加减运算。
|
6月前
|
JavaScript 前端开发
JavaScript 语法:运算符号
JavaScript 语法 之 运算符号
33 0
JavaScript 语法:运算符号
|
8月前
|
JavaScript 前端开发
JavaScript -- 操作符和逻辑运算
JavaScript -- 操作符和逻辑运算
|
JavaScript 前端开发
JavaScript实现购物车加减和价格运算等功能
JavaScript实现购物车加减和价格运算等功能
572 0
JavaScript实现购物车加减和价格运算等功能
|
JavaScript 前端开发
【JavaScript】关于解决JS 计算精度问题(toFixed, Math.round, 运算表达式) !
前言 最近在做一个ERP的项目,里面涉及到了很多的计算,尤其特别是有很多关于浮点数的计算,然后就碰到了下面的问题。
433 1
|
JavaScript 前端开发
【基础篇】JavaScript中Math(数学运算)方法汇总
【基础篇】JavaScript中Math(数学运算)方法汇总
【基础篇】JavaScript中Math(数学运算)方法汇总
|
JavaScript
js加减乘除运算出现精度丢失
js加减乘除运算出现精度丢失
|
JavaScript 前端开发
Javascript中Boolean参与运算时注意事项
Javascript中Boolean参与运算时注意事项
Javascript中Boolean参与运算时注意事项
|
JavaScript 前端开发 算法
JavaScript中一些不常见的运算符号(三分钟看完)
JavaScript中一些不常见的运算符号(三分钟看完)
102 0