Python中的整数以二进制补码存储,对吗?
虽然:
>>> x = 5 >>> bin(x) 0b101
和:
>>> x = -5 >>> bin(x) -0b101
真是la脚。如何获取python以实数二进制位给我数字,并且没有0b开头?所以:
>>> x = 5 >>> bin(x) 0101 >>> y = -5 >>> bin(y) 1011
不确定如何使用标准库获取所需的内容。那里有一些脚本和软件包可以为您完成转换。
我只是想指出“为什么”以及为什么它不la脚。
bin()不返回二进制位。它将数字转换为二进制字符串。根据python语言定义,前导‘0b’告诉解释器您正在处理一个二进制数。这样,您可以直接使用二进制数字,像这样
>>> 0b01 1 >>> 0b10 2 >>> 0b11 3 >>> 0b01 + 0b10 3
那不是la脚。那很棒。
http://docs.python.org/library/functions.html#bin
箱(x) 将整数转换为二进制字符串。
箱(x)
将整数转换为二进制字符串。
http://docs.python.org/reference/lexical_analysis.html#integers
以下词汇定义描述了整数和长整数文字: bininteger :: =“ 0”(“ b” |“ B”)bindigit + bindigit :: =“ 0” | “ 1”
以下词汇定义描述了整数和长整数文字:
bininteger :: =“ 0”(“ b” |“ B”)bindigit + bindigit :: =“ 0” | “ 1”
bininteger :: =“ 0”(“ b” |“ B”)bindigit +
bindigit :: =“ 0” | “ 1”