gpt4 book ai didi

Python 代码——也许是十六进制?

转载 作者:太空宇宙 更新时间:2023-11-04 08:04:35 25 4
gpt4 key购买 nike

我正在查看一段代码并遇到了这些行:

1 & 0x44
1 & 0x11
1 & 0x85
1 & 0x22
1 & 0x20

我已经在 Python 中运行它并看到数字在变化,但我不明白它在做什么。有人可以向我解释一下它在做什么吗?

谢谢

最佳答案

这里的&是一个按位运算符,这意味着查看二进制格式中涉及的数字以了解正在执行的操作更有意义。

因此,对于十进制的 65,将其转换为二进制得到“1000001”。

其他数字都是十六进制的,转换如下:

0x10 -> 10000
0x08 -> 01000
0x04 -> 00100
0x02 -> 00010
0x01 -> 00001

如你所见,65 & 0x01的结果是1,实现方式如下:

  1000001      65 in binary
& 0000001 0x10 in binary
---------
0000001 Giving 1
---------

AND 的逻辑:

AND
0 0 | 0
0 1 | 0
1 0 | 0
1 1 | 1

代码正在尝试确定是否已设置单个位。

关于 bitwise operations 的维基百科文章应该可以帮助您理解这个过程。

关于Python 代码——也许是十六进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33784922/

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