255+1为什么等于0?超级变态65535
255+1为什么等于0?
因为如果自加刚好溢出1,会自动变零。255就是二进制11111111,+1后等于100000000,由于uchar是8位,最高位溢出了,剩下的就是0了。
uchar就是unsignedchar.unsignedchar没有符号位,因此能表示0~255,这个好理解,8个bit,最多256种情况,因此无论如何都能表示256个数字。它会在超过最大值255后被求模。255+1=256,256%256=0,所以自加大于255后,变量会自动变为0;