当前位置: 首页 > 面试题库 >

Python中的二进制补码?

封飞
2023-03-14
问题内容

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”



 类似资料:
  • 问题内容: 我知道用和 将小数转换为二进制(在这里我取32位结果的低16位)。 我想做的是另一种方法,并采用16位二进制补码二进制字符串并将其转换为十进制。 即 而不是 我该怎么做? 问题答案: 您需要将结果读取到中。 此打印。

  • 有的时候,需要将对代码的改动以补丁文件的方式进行传递,最终合并入版本库。例如直接在软件部署目录内进行改动,再将改动传送到开发平台。或者是因为在某个开源软件的官方版本库中没有提交权限,需要将自己的改动以补丁文件的方式提供给官方。 关于补丁文件的格式,补丁的生成和应用在第3篇第20章“补丁文件交互”当中已经进行了介绍,使用的是git format-patch和git am命令,但这两个命令仅对Git库

  • 问题内容: 因此,计算机使用二进制补码在内部表示有符号整数。即,-5表示为^ 5 +1 =“ 1111 1011”。 但是,尝试打印二进制表示形式,例如以下代码: 输出。不太符合我的期望。格式是不同的还是还是不使用二进制补码? 有趣的是,转换为无符号int会导致“正确”位模式: 输出是-的2s补码。 因此,在我看来,值内部实际上是在使用二进制补码,但格式是打印无符号并加a 。 有人可以澄清吗? 问

  • 问题内容: 如何在Python中加,减和比较二进制数而不转换为小数? 问题答案: 您可以使用bin()和int()在二进制字符串表示形式之间进行转换

  • 1)11111111>0111111 我认为这是错误的,因为第一个数字代表符号,所以我们比较负值和正值。 2)(11111111+11111111)>(00000001-00000010) 谢谢你。

  • 将二进制补码转换为十进制最简单的方法是什么?例如,如果我通常将“1001”之类的字符串转换为十进制,则得到9。但我实际上想得到一个简单的-7。你们有什么建议?,