Computer science 以符号幅度格式减去两个数字

Computer science 以符号幅度格式减去两个数字,computer-science,Computer Science,

<假设185和122是以符号大小格式存储的有符号8位十进制整数。计算185+122。是否有溢出、下溢或两者都没有

所以我有185=10111001的二进制数 我有122=01111010的二进制数

我不知道接下来该怎么办。如果是符号量值格式,10111001=-57还是-71

我可以添加二进制文件吗

如果我加上:

 10111001
 01111010
 _________
100110011

但这似乎有溢出?我这样做对吗?

符号大小格式使用最左边的位表示符号
0
表示正,而
1
表示负,因此我们可以用符号大小格式中的8位表示的数字范围是从
-127
127
。因此
10111001
是-71(取2的补码,然后计算值)

只要最左边的位有1,就意味着它是负数,要得到它的大小,你需要得到它的2的补码


是的,如果有符号位的进位
忽略它,你可以添加这些二进制文件和符号数量。因此,从加法得到的结果
100110011
最左边的位是符号位的进位,所以忽略它。然后我们有8位数字
00110011
,最左边的数字是零,所以它是pos正数计算其大小,我们得到
51
,它正好等于
122+(-71)
。是的,也可能有溢出的情况。关于溢出的更多信息,请参见此处:。

然后问他为什么122-57给出51:)是否可能您的符号大小错误?我认为第一位是符号,其余的是大小。根据这个逻辑10111001=-57。不,如果它是负数,那么我们需要取它的2s补码来得到magnitude@Jwan622查看其他来源