今天在复习C语言,看谭老爷的《c程序设计》看到这样一段描述:
unsigned short i=-1;
printf("%d\n",i);
输出是65535
这里“-1”在内存存储形式为
111111111 11111111(以补码 的形式保存)
这里操作系统
1.unsigned short定义i,但是不影响人对其的操作,只是让操作系统知道i是一个无符号的短整型数据。
2.printf()语句读取i时,操作系统读取的数据为111111111 11111111,而其类型为unsigned short,所以数据为65535
所以,我在这里得到的启示是考虑编程问题时从电脑的角度去想。