gpt4 book ai didi

python - Python 如何推断二进制 NOT 中使用的位数?

转载 作者:行者123 更新时间:2023-12-05 02:28:56 25 4
gpt4 key购买 nike

我正在将它从 C 语言翻译成 Python:

int_fast16_t x;
int_fast16_t y = compute_value();
x = ~y;
y = x+1;

我不认为

y = compute_value()
y = (~y) + 1

会起作用:它怎么知道有多少位二进制文​​件不应该完成? (8?16?32?)。

在 C 语言中,int_fast16_t 类型是显式的,但在 Python 中我们无法提前知道位数。

如何在 Python 中执行此操作?

我已阅读 How do I do a bitwise Not operation in Python?但这里更具体:Python 如何推断二进制 NOT 中使用的位数?

例子:

Python 如何知道 3 (0b11) 的二进制 NOT 应该在 4 位上完成:0b00 还是在 8 位上: 0b11111100 或 16 位:0b1111111111111100?

最佳答案

Python int 有无限多的位。将它们全部反转的唯一方法是取反数字的符号。所以例如 ~1-2。要在结果中获得特定数量的位,您必须屏蔽掉这些位。 (~1)&0xffff0xfffe 有一点偏差,我假设是由于二进制补码。

关于python - Python 如何推断二进制 NOT 中使用的位数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72450680/

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