初学C语言者的不解,向各位大侠求教

初学C语言者的疑惑,向各位大侠求教!
   初学C语言,在看谭浩强《C程序设计(第四版)》第63页上的内容时,书中有如下内容:
      int a=32767;
      short b'
      b=a+1;
按理论上得到32768,但输出的结果是-32768,看上去莫名其妙,其实原因很简单,对短整型数据分配2个字节,最大能表示32767,无法表示32768,见图
        a:32767     00000000  00000000   01111111   11111111
                                                    (a)                      
                                                 b:-32768     11111111   11111111
                                                      (b)
  图(a)表示Int型变量用4个字节存储32767的情况,加1后,两个低字节的16位为全1,把它传送到short变量b中,见图(b).由于整型变量的最高位代表符号,第1位是1,代表此数是负数,它就是-32768的补码形式。
    我的疑问是  a:32767  00000000   00000000    01111111  11111111
                                                                      加1后,应该为
                                              00000000    00000000   10000000   00000000
而不是图(b)所显示的内容,我错在哪了?
   特向各位大侠求教详细解释    
------解决思路----------------------
因为在计算机中,所有的数据都是使用补码表示,两个字节10000000 00000000表示的补码,其对应的真值就是-32768
------解决思路----------------------
:-32768    16位应该是 10000000   00000000  原和补一样。

------解决思路----------------------
电脑内存或文件内容只是一个一维二进制字节数组及其对应的二进制地址;
人脑才将电脑内存或文件内容中的这个一维二进制字节数组及其对应的二进制地址的某些部分看成是整数、有符号数/无符号数、浮点数、复数、英文字母、阿拉伯数字、中文/韩文/法文……字符/字符串、汇编指令、函数、函数参数、堆、栈、数组、指针、数组指针、指针数组、数组的数组、指针的指针、二维数组、字符点阵、字符笔画的坐标、黑白二值图片、灰度图片、彩色图片、录音、视频、指纹信息、身份证信息……

------解决思路----------------------
你没错,书应该是印错了。