当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Arduino 整数常数用法及代码示例


[常数]

说明

整数常量是直接在草图中使用的数字,例如 123。默认情况下,这些数字被视为 int 但您可以使用 U 和 L 修饰符来更改它(见下文)。

通常,整数常量被视为基数为 10(十进制)的整数,但可以使用特殊符号(格式化程序)来输入其他基数的数字。

根据 示例 格式化程序 评论

10(十进制)

123

none

2(二进制)

0b1111011

领先"0b"

字符 0&1 有效

8(八进制)

0173

领先"0"

字符 0-7 有效

16(十六进制)

0x7B

领先"0x"

字符 0-9、A-F、a-f 有效

十进制(以 10 为底)

这是您熟悉的common-sense 数学。假定没有其他前缀的常量是十进制格式。

示例代码:

n = 101;  // same as 101 decimal ((1 * 10^2) + (0 * 10^1) + 1)

二进制(基数 2)

只有字符 0 和 1 有效。

示例代码:

n = 0b101; // same as 5 decimal ((1 * 2^2) + (0 * 2^1) + 1)

八进制(以 8 为基数)

只有字符 0 到 7 是有效的。八进制值由前缀"0"(零)表示。

示例代码:

n = 0101; // same as 65 decimal ((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;  // same as 257 decimal ((1 * 16^2) + (0 * 16^1) + 1)

注意事项和警告

U & L 格式化程序:

默认情况下,整数常量被视为 int 并伴随值限制。要指定具有其他数据类型的整数常量,请在其后跟上:

  • a 'u' 或 'U' 将常量强制为无符号数据格式。示例:33u

  • a 'l' 或 'L' 将常量强制为长数据格式。示例:100000L

  • a 'ul' 或 'UL' 将常量强制为无符号长常量。示例:32767ul

相关用法


注:本文由纯净天空筛选整理自arduino.cc大神的英文原创作品 Integer Constants。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。