我试过把一个数字转换成二进制数字,这在Python和JavaScript中都有效。我的问题是它们都返回不同的组合。
输入585190997647163394,
JavaScript返回:100000011111000001000001110010100100100001000000000000000000
Python返回:100000011111000001000001110010100100100001000000000000000010
二进制组合中的倒数第二位数字不匹配。
下面是我的代码:
JavaScript:
var bin = (+in).toString(2);
console.log(bin);
Python:
print(bin(int(input("int >"))))
JavaScript使用双精度浮点数。585190997647163394太大
585190997647163394 > Number.MAX_SAFE_INTEGER
四舍五入为585190997647163392。
你可以用BigInt代替。
Python有任意精度的数字。数字以字符串的形式存储。Python不会四舍五入来存储它。