unsigned int a=-12;printf("a=%d\n",a);结果是-12,但如果把a的类型换成unsigned short就是65524,为什么用int会是-22呢?在VC++6.0和GCC中都是这样