1

 1 void main()
 2 {
 3     /*
 4         short a = -1;采用有符号,和无符号输出的效果
 5     */
 6     short  a = -1;
 7     //printf("%x\n", &a);
 8 
 9     printf("%d\n",a);
10     /*
11         查看内存
12         ffff     十六进制 补码
13         1111 1111 1111 1111 二进制补码
14         1111 1111 1111 1110 二进制反码
15         1 000 0000 0000 0001  二进制原码
16         -1                  十进制
17         所以:结果为-1.
18     
19     */
20 
21 
22     printf("%u",a);
23     
24     /*
25         内存如下:
26         ffff   十六进制补码
27         1111 1111 1111 1111 二进制原码
28          65535               十进制   16位1的二进制转为十进制结果为65535
29 
30          所以:结果为65535
31     
32     //分析错了:
33         
34         用printf("%u",a);打印结果都为4294967259
35     */
36 
37 
38 
39     getchar();
40 }

 

posted on 2017-12-21 23:31  潜龙传  阅读(155)  评论(0编辑  收藏  举报

导航