Tyi*_*ilo 8 javascript flash actionscript-3 ecmascript-5
如果我理解这是正确的,那么JavaScript和ActionScript 3都可以使用弧度.
因此,以下代码的预期输出将是:
Math.PI //Expected 3.141592653589793, got 3.141592653589793
Math.sin(0) //Expected 0, got 0
Math.sin(Math.PI/2) //Expected 1, got 1
Math.sin(Math.PI) //Expected 0, got 1.2246063538223773e-16
Math.sin(Math.PI*3/2) //Expected -1, got -1
Math.sin(Math.PI*2) //Expected 0, got -2.4492127076447545e-16
Math.cos(0) //Expected 1, got 1
Math.cos(Math.PI/2) //Expected 0, got 6.123031769111886e-17
Math.cos(Math.PI) //Expected -1, got -1
Math.cos(Math.PI*3/2) //Expected 0, got -1.836909530733566e-16
Math.cos(Math.PI*2) //Expected 1, got 1
Run Code Online (Sandbox Code Playgroud)
这与Firefox,Chrome,Safari以及Flash Professional CS5.5中的行为相同.我正在使用Mac OS X 10.7.2.
测试:
Jon*_*eet 17
你看过你得到的价值了吗?你期待0,但你会得到类似的东西
0.00000000000000012246063538223773
Run Code Online (Sandbox Code Playgroud)
对你来说这不是很接近于零吗?
基本上,当您的输入无法表示为精确的二进制值时,您不应期望二进制浮点运算完全正确 - 如果它不合理,则pi/2不能表示.(即使输入可以精确地以二进制表示,如果输出无法准确表达,您也不应期望结果是准确的...)
归档时间: |
|
查看次数: |
6033 次 |
最近记录: |