javascript算术运算溢出
2015-03-13 15:01
246 查看
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的严格相等测试来判断也是相同的。
当数字结果超过了数字上限时,结果为一个特殊的无穷大(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,负无穷大不等于无穷大。
相关文章推荐
- javascript算术运算溢出
- javascript算术运算溢出
- Javascript算术运算
- 算术运算的溢出行为 and 一个数内存中表示1的个数
- C# 连接ORACLE数据库,执行查询提示“算术运算导致溢出。”
- vsto插件在64位Office的一个异常---算术运算溢出(IntPtr转int)
- (JS高手不用看了!我只是在碎碎念,因为我也不知道面什么)JavaScript的算术运算
- 【转】.net算术运算导致溢出
- p1-6.cpp: 测试整型数据输入输出 \ 算术运算 和 变量溢出
- JavaScript 中的算术运算
- Microsoft.Net框架程序设计学习笔记(6):算术运算溢出处理checked与unchecked操作
- 算术运算的溢出问题
- .NET算术运算溢出问题
- 运行窗体跳转时提示未处理System.OverflowException HResult=-2146233066 Message=算术运算导致溢出。 Source=DevExpress.U
- vs报算术运算溢出的错误
- 【Oracle】C# 执行SQL时算术运算导致溢出
- C#发生算术运算中发生溢出或下溢的解决方案
- Oracle C#的"算术运算导致溢出"错误
- JavaScript对象和方法算术运算或输出之valueOf和toString优先级
- C#报算术运算导致溢出的错误