首先,请原谅我无知问这种问题,但由于我不擅长 Python,我无能为力。
我遇到了以下需要转换为 C++ 的 Python 代码。
def getSignedNumber(number, bitLength):
mask = pow(2,bitLength) - 1
if number & (1 << (bitLength - 1)):
return number | ~mask
else:
return number & mask
def getUnsignedNumber(number, bitLength):
mask = pow(2,bitLength) - 1
return number & mask
这用于将 unsigned int 转换为有符号 int,反之亦然。但我不知道为什么我们必须这样做,因为我认为只需转换为相应的类型就足够了。也许是因为 Python 是一种动态类型的语言,需要这种操作?我在这里错过了什么吗?