Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么(00123+34351)在javascript、java和python中返回34434?正确答案是34474_Javascript_Python_Math_Addition_Base - Fatal编程技术网

为什么(00123+34351)在javascript、java和python中返回34434?正确答案是34474

为什么(00123+34351)在javascript、java和python中返回34434?正确答案是34474,javascript,python,math,addition,base,Javascript,Python,Math,Addition,Base,在javascript中,输出34434 在python中,输出34434 然而,删除前导零即123+34351给出了正确答案,即34474不确定Java,但在JavaScript和Python 2中,以0开头的数字是八进制数字,即00123实际上是十进制的83 JavaScript:0是八进制的常见前缀,其十进制数为83。做 console.log(00123 + 34351); //in javascript, outputs 34434 print(00123 + 34351); //in

在javascript中,输出34434 在python中,输出34434


然而,删除前导零即123+34351给出了正确答案,即34474不确定Java,但在JavaScript和Python 2中,以0开头的数字是八进制数字,即00123实际上是十进制的83

JavaScript:

0是八进制的常见前缀,其十进制数为83。做

console.log(00123 + 34351); //in javascript, outputs 34434
print(00123 + 34351); //in python, outputs 34434
相当于

console.log(00123+34351)

编辑:请注意,在python 3+中,前缀是0o

否,正确答案是34434 base 10。在许多语言中,前导为0的数字是八进制的,因此加法运算是123进制8+34351进制10。将八进制整数转换为十进制,您将看到基本原理。

仅在Python 2.x中。。。因为它们将00解释为八进制前缀,所以较新的python不再允许这样做,而是需要0o前缀。0o123是83位小数,非常有意义。
console.log(83+34351)