c程序的一个计算

来源:百度知道 编辑:UC知道 时间:2024/05/31 05:27:07
main()
{
unsigned a,b,c;
a=0164;
b=0xab;
printf("a10=%d,a8=%o,a16=%x\n",c,c,c);
c=~a+~b;
printf("%d,%o,%x\n",c,c,c)
}
结过是116,164,74
-289.177337.fedf求高手指导是怎么求出来的 ????

116 164 74这个只是没初始化c里面偶然存的数。当然十进制是116八进制是0164十六进制是0x74这个对应没问题。

~a的值是0xFF8B ~b的值是0xFF54 和是0x1FEDF 因为头一个1超出变量长度所以舍去,就是0xFEDF 作为带符号整数对应的10进制是-289 八进制是177337