#include<stdio.h> main() { int a=-1; printf("%d,%o,%u\n",a,a,a); } 输出结果是多少
#include<stdio.h> main() { int a=-1; printf("%d,%o,%u\n",a,a,a); } 输出结果是多少
日期:2010-12-28 14:53:11 人气:1
在目前的电脑上运行的结果应该是:
-1,37777777777,4294967295
你给的答案应该是按照16位的情况算出来的。
第一个输出应该没什么疑问
第二个和第三个输出本质是一样的,只不过第二个是以八进制表示的,其实表示的是一个数。
下面再说说第三个数,-1用二进制表示是1111,1111,1111,1111;
1111,1111,1111,1111按照有符合数来算就是-1,但是按照无符号数来算就是2^15+2^14+...+2^1+2^0=2^16 - 1 = 65535
上面是按照