关于什么的原码、反码、补码,不打算在这赘述了
本文从一道笔试题,来看一下整数在内存中的存储,及运算,由此引发思考,计算机中为什么要用补码?补码为什么要设计成取反加一这种形式?
先上菜
在X86,VC++6.0环境下,有下列程序
#include<stdio.h>
int main()
{
char c;
unsigned char uc;
unsigned short us;
c = 128;
uc = 128;
us = c + uc;
printf(“0x%x”,us);
us = (unsigned char)c + uc;
printf(“0x%x”,us);
us = c + (char)uc;
printf(“0x%x”,us);
return 0;
}
输出结果为( )
A) 0x0 0x100 0xff00
B) 0x100 0x100 0xff00
C) 0x100 0x100 0x0
D) 0x0 0x100 0x0
<span style="font-family: Arial, Helvetica, sans-serif; back