1
C语言程序设计
1.3.2.1 2.2.1 整型常量

2.2.1 整型常量

整型常量也称作整常量。

1.内存中的存放

C语言中,数据在内存中都是以二进制形式存放。如在Turbo C 2.0编译环境中,一个int型十进制正整数127的二进制形式为1111111,它在内存中占用2个字节的内存单元,那么,它在内存中的存放情况如下:

img86

实际上,数值是以补码表示的。以最左边的一位作为符号位,该位为0,表示数值为正;为1表示数值为负。有关补码的知识将在2.4节中介绍。

2.整型常量的类型

系统可以根据整常量的具体数值来确定它的类型。

(1)对于十进制整常量,如果值的范围在−32 768~+32 767内,认为它是int型;如果其值超过了上述范围,如40 000,而在范围−2 147 483 648~+2 147 483 647内,则认为它是long int型;如果其值也超出了long int所能表示的范围,那么它的类型就是无符号长整型(unsigned long int)。

(2)对于八进制整常量和十六进制整常量来说,根据表示的数值从小到大,它的类型可以是short int(短整型)、int(普通整型)、unsigned int(无符号整型)、long int(长整型)和unsigned long int(无符号长整型)。

(3)整常量的类型可用后缀来指定。整常量分为无符号型后缀和长型后缀。

一个整常量后面加一个字母u或U,表示该整常量的类型是unsigned int型,如879u、0743u和0XFED8u等;当一个整常量后面加一个字母l或L,则表示该整常量的类型是long int型,如879l、0X34fL等;如果在一个整常量后面同时带有后缀l(L)和u(U),那么它的类型就是unsigned long int,如5789lu和07654lu等。