上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就进位。