两个补充:加法溢出?

时间:2016-01-26 16:16:27

标签: binary twos-complement

我想在2的补码中添加24到10。我发现24中2的补码为:011000和10的2补码为001010.当我将两者加在一起时,得到:100010。结果为负数。这是溢出的一个例子吗?是不是可以在2的补码中添加24到10个?

1 个答案:

答案 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补充溢出的明确指标。