Python中的二进制补码?

发布于 2021-01-29 15:07:26

Python中的整数以二进制补码存储,对吗?

虽然:

>>> x = 5
>>> bin(x)
0b101

和:

>>> x = -5
>>> bin(x)
-0b101

真是la脚。如何获取python以实数二进制位给我数字,并且没有0b开头?所以:

>>> x = 5
>>> bin(x)
0101
>>> y = -5
>>> bin(y)
1011
关注者
0
被浏览
76
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    不确定如何使用标准库获取所需的内容。那里有一些脚本和软件包可以为您完成转换。

    我只是想指出“为什么”以及为什么它不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”



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看