整型常量在 C 语言中用于表示整数值,具有三种常见的表示形式:十进制、八进制和十六进制。每种形式都各有其特点:
十进制:
最常用且易于理解。
表示范围:-2^31~2^31-1(对于 32 位系统)。
示例:12345
八进制:
以数字 0 开头,后跟八进制数字(0~7)。
表示范围:-2^31~2^31-1。
示例:012345(等同于十进制 8373)
十六进制:
以数字 0x 或 0X 开头,后跟十六进制数字(0~9、A~F/a~f)。
表示范围:-2^31~2^31-1。
示例:0x12345(等同于十进制 74657)
特点比较:
可读性:十进制最易于阅读,其次是八进制,最后是十六进制。
表示范围:三种形式的表示范围相同。
用途:十进制用于大多数整数场合;八进制常用于特定场景,如文件权限;十六进制常用于表示颜色值、内存地址等。
建议:
一般情况下,使用十进制表示整型常量。
如果需要表示特定范围内的值,可以使用八进制或十六进制。
在需要清晰表达二进制模式时,可以使用八进制或十六进制。
整型常量表示形式主要有以下几种:
十进制:直接以 10 进制数字书写,不需要任何后缀:
int a = 123;
八进制:在数字前加前缀 `0`,表示八进制:
```
int b = 0123; // 十进制 83
```
十六进制:在数字前加前缀 `0x` 或 `0X`,表示十六进制:
```
int c = 0x123; // 十进制 291
```
整型后缀:在十进制、八进制或十六进制数字后面加上后缀 `l` 或 `L`,表示 long 整型常量:
```
long d = 123L;
```
无符号整型后缀:在十进制、八进制或十六进制数字后面加上后缀 `u` 或 `U`,表示无符号整型常量:
```
unsigned int e = 123u;
```
十六进制浮点数常量:以科学计数法表示,并在数字后加 `p` 或 `P` 后缀,表示指数是 2 的幂次:
```
float f = 1.2345p10; // 十进制 12345
```
整数常量的三种表示形式与特点
整数常量在计算机程序中用来表示整数值,在不同的编程语言中,整数常量可以采用多种表示形式。其中,最常见的三个表示形式为:
1. 十进制表示
十进制表示是最直观的整数表示形式,使用 0 到 9 十个数字来表示整数。例如,1234 表示十进制数一千二百三十四。
特点:
最容易理解和书写
可表示任意整数,范围仅受计算机系统字长的限制
2. 八进制表示
八进制表示使用 0 到 7 八个数字来表示整数。每三位八进制数字表示一个十进制数字。例如,1234 表示八进制数 524。
特点:
比十进制表示更紧凑,在某些情况下有利于计算机处理
仅限于非负整数,范围较小
3. 十六进制表示
十六进制表示使用 0 到 9 和 A 到 F 十六个数字来表示整数。每四位十六进制数字表示一个十进制数字。例如,1234 表示十六进制数 4D4。
特点:
比十进制表示更紧凑,在某些情况下有利于计算机处理
可表示正负整数,范围较大
通常用于表示颜色值、计算机地址等
这三种表示形式各有其特点,在不同的场合下可以选择最合适的表示形式。
整型常量的表示方法有多种,包括:
十进制表示法
是最常见的表示法,使用数字 0 到 9 表示数字,例如:123、456。
十六进制表示法
使用数字 0 到 9 和字母 A 到 F 表示数字,前缀为 0x,例如:0x123、0x456。
八进制表示法
使用数字 0 到 7 表示数字,前缀为 0,例如:0123、0456。
二进制表示法
使用数字 0 和 1 表示数字,前缀为 0b,例如:0b1011、0b1101。
无符号数字常量
默认情况下,整型常量被视为有符号的,即可以表示正数或负数。要表示无符号数字常量,需要在数字前加上关键字 unsigned,例如:unsigned 123。
长整数常量
默认情况下,整型常量为 32 位。要表示长整数常量,需要在数字后加上后缀 L,例如:123L。
长长整数常量
要表示长长整数常量,需要在数字后加上后缀 LL,例如:123LL。
还有一些特殊的整型常量表示法:
八进制和十六进制转义序列:可以使用转义序列 \o<八进制数字> 或 \x<十六进制数字> 来表示八进制或十六进制数字常量。
字符常量:使用单引号引起来的字符常量被转换为其 ASCII 码值。
枚举常量:使用枚举定义的常量可以表示特定的整数值。