Computer science 以符号幅度格式减去两个数字
<假设185和122是以符号大小格式存储的有符号8位十进制整数。计算185+122。是否有溢出、下溢或两者都没有 所以我有185=10111001的二进制数 我有122=01111010的二进制数 我不知道接下来该怎么办。如果是符号量值格式,10111001=-57还是-71 我可以添加二进制文件吗 如果我加上:Computer science 以符号幅度格式减去两个数字,computer-science,Computer Science,
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查看其他来源