c语言中定义的无符号字符型变量,自加大于255后,变量会自动变0吗? 10
2个回答
2017-06-04 · 知道合伙人互联网行家
关注
展开全部
您好,很高兴回答您的问题!
解答:
1,如果自加刚好溢出1,会自动变零。255就是二进制11111111,+1后等于100000000,由于uchar是8位,最高位溢出了,剩下的就是0了。
2,uchar就是unsigned char.
unsigned char没有符号位,因此能表示0~255,这个好理解,8个bit,最多256种情况,因此无论如何都能表示256个数字。它会在超过最大值255后被求模。255+1=256 , 256%256=0,所以自加大于255后,变量会自动变为0;
解答:
1,如果自加刚好溢出1,会自动变零。255就是二进制11111111,+1后等于100000000,由于uchar是8位,最高位溢出了,剩下的就是0了。
2,uchar就是unsigned char.
unsigned char没有符号位,因此能表示0~255,这个好理解,8个bit,最多256种情况,因此无论如何都能表示256个数字。它会在超过最大值255后被求模。255+1=256 , 256%256=0,所以自加大于255后,变量会自动变为0;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询