gpt4 book ai didi

python - 为什么 python 按位运算符不能处理 bin() 返回的内容

转载 作者:行者123 更新时间:2023-11-30 22:39:49 26 4
gpt4 key购买 nike

我一直在使用按位运算符进行一些工作,通常从使用 bin() 转换整数开始。我每次尝试都会遇到错误。

foo = 5
binfoo = bin(foo)
bar = ~(binfoo)

最后一行是我们搞砸的地方。

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: bad operand type for unary ~: 'str'

如果 bin() 返回一个字符串,那么这些按位运算符期望什么?

最佳答案

~ 一元按位运算符需要整数输入。来自 Unary arithmetic and bitwise operations section Python 引用文档的表达式章节:

The unary ~ (invert) operator yields the bitwise inversion of its integer argument. The bitwise inversion of x is defined as -(x+1). It only applies to integral numbers.

我的粗体强调。

~ 应用于 5 效果很好:

>>> ~5
-6

bin() 函数仅返回一个带有数字二进制表示形式的字符串对象。将其视为一种调试工具,可以快速显示为整数设置了哪些位以及未设置哪些位。要实际操作位,您仍然需要一个整数。

关于python - 为什么 python 按位运算符不能处理 bin() 返回的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43034349/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com