两个二进制有符号数(10111010)与(1101001)相加,结果是什么是否溢出
问题描述:
两个二进制有符号数(10111010)与(1101001)相加,结果是什么是否溢出
答
如果是单字节8位数的话
结果是 00100011 ,不溢出
因为第7位和第6位都有进位,所有结果不溢出.溢出是说数据溢出,计算结果超出范围。对有符号数来说,进位就不一定会数据溢出了。有符号数相加,6,7位不进位,或同时进位,都不溢出。只是其中一个进位的话,就会溢出。8位有符号数,范围是 -128--127比如 -1 + -1 = -21111 1111 + 11111111 = 11111110 这6,7位都进位了,但是数据并没有溢出相反 127+1 =1280111 1111 + 00000001 = 10000000只有6位进位,7位并没有进位,但是数据溢出了因为128超出范围了,而且计算结果 10000000 对有符号数来说是 -128127+1=-128显然是溢出了