如果8位二进制补码的最高位(符号位)为1,那么扩展后的16位补码直接在最高位前面添加8个1即可;
举例如下:
-13
8位原码:1000 1101
8位补码:1111 0011
16位原码:1000 0000 0000 1101
16位补码:1111 1111 1111 0011
根据前面的知识,由于-13的最高位为1,所以直接在最高位前面添加8个1即可变为16位补森清码,即1111 1111 1111 0011(与前面由原码求补码的结果一致)。
13
8位原码:0000 1101
8位补码:0000 1101
16位原码:0000 0000 0000 1101
16位补码:0000 0000 0000 1101
根据前面的知识,由于13的最高位为0,所以直接在最高位前面添加8个0即可变为16位补码,即0000 0000 0000 1101(与前面由原码求补码的此羡前结果一致)。
编译运行,没有error,就写,劳资写的代码就是6,没错。如果有error,修改error,在报告中写出姿裂你哪行代码出错了,怎么改正的。
程序不是写出来的,是一次次调试出来!几乎不可能写完代码,一次性编译通过,都是报错了。然后找到bug,改正,直迹汪闭到没错误,运行成功,陵简输出正确结果。这个过程就是调试。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)