找回密码
 立即注册
搜索
查看: 212|回复: 0

[Arduino 语法参考] 整型常量

[复制链接]

266

主题

0

回帖

1119

积分

管理员

积分
1119
发表于 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)

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

示例:

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


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|棱讯科技 ( 粤ICP备2024228160号-2|粤公网安备44030002003510号 )

GMT+8, 2024-7-27 19:22 , Processed in 0.013672 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表