arm-linux嵌入式学习手记
jj807
全部博文(75)
c语言100例(22)
启动代码分析(3)
2011年(1)
2010年(15)
2009年(59)
fuyuande
long程飞
dahai046
25115879
萦绕08
zhajiaoh
wonderfu
dx_bin
15815261
分类: C/C++
2009-05-22 15:38:57
#include <stdio.h>void main(){ short int n=0x7fff,m=n+1; printf("%d,%d\n",n,m);}
程序运行结果为:32767,-32768
(1)short int型占用2字节
(2)计算机中数值是以补码形式存放(但输出是原码),负数的补码为除符号位其余位取反后加1,负数的源码为补码除符号位每位取反加1.
(3)m(补码)=n(补码)+1=1000,0000,0000,0000,故m(原码)=-((000,0000,0000,0000)取反+1)=-1000,0000,0000,0000=-32768
上一篇:printf语句的求值
下一篇:字符的强制转换(int)
登录 注册