在我们的日常生活中,经常容易混淆有符号数和无符号数。那么有符号数和无符号数的区别是什么?
首先在计算机中,有符号数是可以用来区分数值的正负。而无符号数仅有正值,没有负值。
其次当一个数是无符号数时,它的最高位仅用来表示该数的大小。而当一个数是有符号数时,此时的最高位称为符号位。该符号位为1时表示该数为负值,为0时则表示为正值。最后有符号数和无符号数两者表示的范围不同,即同样长度的字节,有符号数比无符号数的最大值出现缩水。
有符号和无符号的区别是一个有符号位,另一个没有符号位.
没有符号位的数字只能有0和正值,有符号位的数字可以有正零,负零和正数负数.
数值覆盖范围取决于字长和数的表达方式.
有符号或者没符号取决于对变量的声明.
例如:
int a; short int b; long int c;
float d; double e;
// a,b,c,d,e 是有符号数
unsigned char f[10];
unsigned int g;
WORD gg;
DWORD h;
// f,g,gg,h 是无符号数