阡陌 发表于 2024-3-25 14:00:05

整型常量


**整型常量**

[常量]



## 描述

整型常量是直接在草图中使用的数字,如 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)

这是您所熟悉的常识数学。没有其他前缀的常量被视为十进制格式。

示例:

```cpp
n = 101; // 与十进制 101 相同((1 * 10^2) + (0 * 10^1) + 1)
```



## 二进制(基数 2)

有效字符仅为 0 和 1。

示例:

```cpp
n = 0b101; // 与十进制 5 相同((1 * 2^2) + (0 * 2^1) + 1)
```



## 八进制(基数 8)

有效字符仅为 0 到 7。八进制值由前缀 “0”(零)指示。

示例:

```cpp
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)。

示例:

```cpp
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




页: [1]
查看完整版本: 整型常量