计算机原码反码补码问题.某数若用8位补码表示为10110110,则用16位补码表示位1111111110110110,若8位补码为01011001,则16位补码表示为000000000101101 从8位变到16位,不是在左边一直补0的吗?为什么第一种的前面都是加的1,而后一种则都是加的0,而且为什么后面的事15位,不是16位的吗?
问题描述:
计算机原码反码补码问题.
某数若用8位补码表示为10110110,则用16位补码表示位1111111110110110,若8位补码为01011001,则16位补码表示为000000000101101 从8位变到16位,不是在左边一直补0的吗?为什么第一种的前面都是加的1,而后一种则都是加的0,而且为什么后面的事15位,不是16位的吗?
答
原码10110110 补码 01001001 补码 01001010 第一位为标志位,若是负数,为1 原码:10110110 反码:01001001 补码 = 原码取反加1 = 1001010 原码