C语言王者归来
上QQ阅读APP看书,第一时间看更新

2-4-1 整数常数

C语言的整数常数除了我们从小就使用的十进制,也有八进制和十六进制,程序设计时十进制和我们的习惯用法并没有太大的差异。

实例1:请将5设定给变量i,可用下列方式表示:

     i = 5;

另外,在C语言中是允许八进制的整数存在的,凡是以0开头的整数都被视为八进制数字。

实例2:试说明013和026的十进制值。

     013 等于 11
     026 等于 22

C语言中,也允许十六进制的整数值存在,凡是以0x开头的整数都被视为十六进制整数。

实例3:试说明0x28和0x3A的十进制值。

     0x28 等于 40
     0x3A 等于 58

在十六进制的表示法中,例如0x3A和0x3a意义是一样的。

程序实例ch2_4.c:八进制和十六进制整数输出的应用。

整数的另一种常数表示方式是在数字后面加上l或L,表示这是一个长整数。一般而言,整数值如果太大,编译程序会自动将它设定成长整数(例如,大于32767或小于-32768的短整数)。

注1 值得注意的是,如果将某变量声明成长整数,则在使用时尽量在此变量值后面加l或L,以避免不可预期的错误。

注2 对于目前的Dev C++而言,整数或长整数皆可使用32位表示,彼此是没有差异的,因此我们在做程序设计时可以忽略l或L。

除了上述进制外,C语言也有二进制,在这个进制下可以执行位运算,本书将在第19章解说。

下列是二进制、八进制、十进制和十六进制的转换表。

进制转换表

续表

十进制是我们熟知的进制,其他进制表示如下:

 十六进制:数字到达16就进位,所以单一位数为0~15,其中10用A表示,11用B表示,12用C表示,13用D表示,14用E表示,15用F表示,到达16就进位。

 八进制:数字到达8就进位,所以单一位数为0~7,到达8就进位。

 二进制:数字到达2就进位,所以单一位数为0~1,到达2就进位。