Python中的二进制补码?

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)

将整数转换为二进制字符串。

http://docs.python.org/reference/lexical_analysis.html#integers

以下词汇定义描述了整数和长整数文字:

bininteger :: =“ 0”(“ b” |“ B”)bindigit +

bindigit :: =“ 0” | “ 1”

以上是 Python中的二进制补码? 的全部内容, 来源链接: utcz.com/qa/407129.html

回到顶部