然后,输出a-1的short类型的十六进制数,而a-1的结果为-1,-1在计算机中是以补码的形式存在的,而一个字节能存-2*2^31+2*2^31,最后得出了65535这个值
short a,是短整型,所以a这个变量占的内存空间是2个字节。unsigued是无符号,没有正负号,short数据范围是-32767~32767,所以数据变为0 ~ 2^16-1 ,一共可以保存 65536 个整数,a-1=65536-1=65535
首先你要知道无符号短整形变量能表达的范围是0~65535,里面是不包括-1的,你可以把这个范围想象成一个首位相连的圈,这样你就能明白为啥0-1是等于65535了;