unsignedchar是无符号字节型,char类型变量的大小360问答通常为1个字节(1字节=8个位),且属于整型。整型的每一种都有无符号(unsigned)和有符号(signed)两种类型(float和double总是带符号的),在默认情况下声明的整改表句型变量都是有符号的类型(char有点特别),如果需声明无符号类型的话就需要在类型前加上unsigned。无符号版本和有符号版本的区别就是无符号类型能保存2倍于有符号类型的数据缩双雨切环罗概,比如16位系统中一个int能存储的数据的范围为-327年怎谓亮杆但己盟杆68~32767,而unsigned能存储的数据范围则是0~65535。
同样,在32位系统中一个char类型一般为8个bit,所以能存储费乡但副调儿外等会复的数据范围为-128~127,而unsignedchar则是0~255,字符型所存储的数据是用来表示字符的,例如ASCⅡ或Unicode。
关于围等通们委若球毫本char的符号(选自thinkinginC++2ndvol1充里跳往矛毛征):
signedisthedefaultandisonlynecessarywithchar;charmayormaynotdefaulttosigned.Byspecifyingsignedchar,youforcethesignbittobeused.
译:有符号类型是默认(指的是对于其他整型来说)的类型并且仅对于char析来说才是必须的。char有可能是signed也有可能是unsigned(我想这可能取决于编译器或具体实现)。但通过显式地指定一个c还har为signed,你倒点话就迫使其成为有符号的字符型(水平太烂译的真非学验统不好请见谅