运行如下程序 void main() { int a=-1; printf("%d,%u",a,a); } 格式符%d表示int; %u表示unsigned int
运行如下程序 void main() { int a=-1; printf("%d,%u",a,a); } 格式符%d表示int; %u表示unsigned int
日期:2011-09-26 10:20:42 人气:1
这个问题简单,tc20里面定义int是2个字节的,cfree3.5定义的int是4个字节的
%d是以有符号的格式输出,%u是以无符号的格式输出,有符号的数是以最高位表示正负的,0为正,1为负
先说tc20,1表示为二进制是:
00000000 00000001
-1表示为:
111111111 11111111 //1取反码再+1
表示为无符号就是65535了
cfree3.5同理,1表示为二进制是:
00000000 00000000 00000000 00000001