C语言浅谈unsigned和siged
C语言中把数据分为两大类,即unsigned无符号和signed有符号
对应的有符号数会比无符号数的最大值约小一半
默认的数据类型都是有符号的,例如int=signed int long long = signed long long,但是对char类型还要看具体情况
范围列表如下:
signed char:[-2^7, 2^7)即[-128, 128);
unsigned char:[0, 2^8)即[0, 256);
signed n位整数:[-2^(n-1), 2^(n-1));
unsigned n位整数:[0, 2^n)。
注意整数类型占多少空间是不确定的,只能保证sizeof(shor)<=sizeof(int)<=sizeof(long)。一般32位平台上,int和long为32位,short为16位,long long为64位。