2 的十进制数补码,而不将其转换为二进制形式?



如何将n=52(110100)转换为表示其2的补数(即12(001100))的十进制数?是否有使用位操作的公式/技巧(使用c++)?

如果x-bit然后,2^x - n将给出n的2的补码在小数。

在您的示例中,您考虑的是6位数字,因此64 - 52=1252的2的补码。

还需要注意的是,52应该被解释为-12,用符号6位表示法表示,用2的补码表示。

最新更新