2012-01-31 101 views
3

enter image description here什么表示溢出?

我在做这个问题和一些澄清会超级有用。溢出究竟会发生什么?如果转换为十进制符号时需要额外的位?第3部分“将这些位视为二进制补码”是否意味着找到2的补码?谢谢一堆。

回答

3

对于数字3他并不意味着找到2的补码。他告诉你使用2的补码表示法将这些值作为带符号的数字处理。这意味着a)中的第一个值是正值,其他三个值是负值。

对于溢出,它对于2和3是不同的。对于2,无符号数字,如果执行高位,则发生溢出。对于3,2的补码有符号数,如果结果的符号不正确,就会发生溢出。例如,如果添加两个正数并且结果为负数,则会出现溢出。

+0

你是什么意思的高位? – jfisk 2012-01-31 05:00:39

+0

高位是最重要的位。 – 2012-01-31 13:01:10

0

如果由此产生的总和是一个比8位系统中可以表示的更大的数字,那么会发生溢出。我相信这将是大于255的任何数字(1 < < 8)。

你的假设“多一点”大多是正确的。在8位系统中,所有数字都以8位存储。任何导致数字大于可表示的最大值的操作都将是溢出。当您转换为十进制时,这种情况不会发生,但是当您实际执行与二进制值的和时。如果所有数字都是8位,那么当您需要存储更大的数字时,不能再添加一点。

是的,“二补”与“二补”相同。我不知道你是拼写出来还是使用数字之间有任何区别。

2

如果添加Xÿ和得到的结果小于X或小于Ÿ,那么除了已经溢出(回绕)。