在数学中,数字有正负之分.在C语言中也是一样,short.int.long 都可以带上正负号,例如: //负数 ; short a2 = -0x2dc9; //十六进制 //正数 ; ; //八进制 ; //负数和正数相加 ) + (+); 如果不带正负号,默认就是正数. 符号也是数字的一部分,也要在内存中体现出来.符号只有正负两种情况,用1位(Bit)就足以表示:C语言规定,把内存的最高位作为符号位.以 int 为例,它占用 32 位的内存,0~30 位表示数值,31 位表示正负号.如下图所示