整型常量
[常量]
描述
整型常量是直接在草图中使用的数字,如 123。默认情况下,这些数字被视为 int 类型,但您可以使用 U 和 L 修饰符(见下文)进行更改。
通常,整型常量被视为基数为 10(十进制)的整数,但可以使用特定的标记符号表示其他进制数字。
基数 |
示例 |
标记符号 |
注释 |
10 (十进制) |
123 |
无 |
|
2 (二进制) |
0b1111011 |
前缀为“0b” |
有效字符为 0 和 1 |
8 (八进制) |
0173 |
前缀为“0” |
有效字符为 0-7 |
16 (十六进制) |
0x7B |
前缀为“0x” |
有效字符为 0-9、A-F、a-f |
十进制(基数 10)
这是您所熟悉的常识数学。没有其他前缀的常量被视为十进制格式。
示例:
n = 101; // 与十进制 101 相同((1 * 10^2) + (0 * 10^1) + 1)
二进制(基数 2)
有效字符仅为 0 和 1。
示例:
n = 0b101; // 与十进制 5 相同((1 * 2^2) + (0 * 2^1) + 1)
八进制(基数 8)
有效字符仅为 0 到 7。八进制值由前缀 “0”(零)指示。
示例:
n = 0101; // 与十进制 65 相同((1 * 8^2) + (0 * 8^1) + 1)
注意:可能无意中在常量前包含前导零,导致编译器将常量解释为八进制,从而产生难以发现的错误。
十六进制(基数 16)
有效字符为 0 到 9 和字母 A 到 F;A 的值为 10,B 为 11,直到 F 为 15。十六进制值由前缀 “0x” 指示。请注意,A-F 可以是大写(A-F)或小写(a-f)。
示例:
n = 0x101; // 与十进制 257 相同((1 * 16^2) + (0 * 16^1) + 1)
注意事项和警告
关于 U 和 L 格式化标记符号:
默认情况下,整型常量被视为 int 类型,并附带值限制。若要用另一种数据类型指定整数常量,请在其后添加:
- 'u' 或 'U' 以将常量强制为无符号数据格式。例如:33u
- 'l' 或 'L' 以将常量强制为 long 数据格式。例如:100000L
- 'ul' 或 'UL' 以将常量强制为 unsigned long 常量。例如:32767ul
|