C如何表示负整数?
它是通过二进制补码表示还是使用MSB(最重要的位)?
-1十六进制是ffffffff.
所以请为我澄清一下.
需要一些帮助来理解 leetcode 371 的 Python 解决方案。“两个整数的总和”。我发现https://discuss.leetcode.com/topic/49900/python-solution/2是投票最多的 python 解决方案,但我在理解它时遇到了问题。
class Solution(object):
def getSum(self, a, b):
"""
:type a: int
:type b: int
:rtype: int
"""
MAX_INT = 0x7FFFFFFF
MIN_INT = 0x80000000
MASK = 0x100000000
while b:
a, b = (a ^ b) % MASK, ((a & b) << 1) % MASK
return a if a <= MAX_INT else ~((a % MIN_INT) ^ …Run Code Online (Sandbox Code Playgroud) 我正在(-3 >> 1)用Java 运行此程序并获得答案,-2但是据我说,应该是-1我在想的样子-3/2。请帮助我理解这一点。
int x = -3 >> 1;
System.out.println(x + " " + (-3 >> 1));
Run Code Online (Sandbox Code Playgroud)