我想在2的补码中添加24到10。我发现24中2的补码为:011000和10的2补码为001010.当我将两者加在一起时,得到:100010。结果为负数。这是溢出的一个例子吗?是不是可以在2的补码中添加24到10个?
答案 0 :(得分:3)
如果你只有6位,那么是,它是溢出。原因是6位2的补码只能存储数字$this->socket = fsockopen($proxy, $proxy_port, $errno, $errstr, self::TIMEOUT_CONNECTION);
$this->sendRequest("CONNECT {$host}:{$port} HTTP/1.1");
$this->sendRequest("Host: {$host}:{$port}");
$this->sendRequest($userAgent);
$this->sendRequest("Proxy-Authorization: basic " . base64_encode("$user:$pass") . "\r\n");
// Remove 2 lines with proxy response
fgets($this->socket);
fgets($this->socket);
,而您想要的结果-32..31
超出该范围。
如果你有8比特,那么你的结果将是34
,这不是负数,也不是溢出。
添加两个正数并得出一个否定结果,或两个负数并得出一个非负结果,是签名2补充溢出的明确指标。