第1个回答 2010-09-16
unsigned类型没有符号
如果赋值-1
相等于赋值0
再减1
而8位的unsigned类型的表示范围是0-255
0-1=-1溢出
于是数向前移动
变成255
第2个回答 2010-09-16
-1在计算机内存的的表示方式是 0x ff (补码),在C++中将-1赋值给unsigned char 类型是合法的,所以赋值过后的8位的unsigned类型变量的值就是255了。
第3个回答 2010-09-16
因为是unsigned,是没有符号的,所以unsigned是不能表示复数的,给unsigned复制-1,就相当于8位全是1,就是255
第4个回答 2010-09-16
unsigned 是无符号数。如果8位的话 最大是 11111111最小是00000000所以范围是0~255 所以赋值-1是不可以的