整数定数
説明
整数定数はスケッチ内で直接記述される、123のような整数値を表す。デフォルトでは、これらの数値はint型の数値として扱われる。下の表で示すように、UやLという接尾語をつけることでこの振る舞いを変えることもできる。
通常、整数定数は10進数として扱われる。他の数字を底とする定数には特別な記法を用いる。
底 | 例 | 接頭語 | 注釈 |
---|---|---|---|
10 | 123 | なし | |
2 | B1111011 | B | 8ビット以内の値(0から255)を表現可能。0と1だけが有効。 |
8 | 0173 | 0 | 0から7の数字が有効。 |
16 | 0x7B | 0x | 0から9、AからF、aからfが有効。 |
10進数(base 10)
これはなじみ深い通常の数学で利用される。接頭語のない数値は10進数とみなされる。
使用例
n = 101; // same as 101 decimal ((1 * 10^2) + (0 * 10^1) + 1)
2進数(base 2)
2進数では0と1だけが利用可能である。
使用例
n = B101; // same as 5 decimal ((1 * 2^2) + (0 * 2^1) + 1)
2進表記では1バイト(8ビット)だけを表すことができる。よって実際に表される数は0(B0)と255(B11111111)の間である。int型の数値が必要なときは、以下のように2段階で生成することができる。
myInt = (B11001100 * 256) + B10101010; // B11001100 is the high byte`
8進数(base 8)
0から7までの数値が有効である。8進数は先頭に0をつける。
使用例
n = 0101; // same as 65 decimal ((1 * 8^2) + (0 * 8^1) + 1)
(意図せず)定数を0で始めると、コンパイラは8進数と解釈するので、見つけるのが困難なバグを埋め込む可能性がある。
16進数(base 16)
0から9とAからFまでが有効である。Aは(10進数で)10、Bは11、Fは15である。16進数は0xという接頭語をつける。AからFは、小文字のaからfでもよい。
n = 0x101; // same as 257 decimal ((1 * 16^2) + (0 * 16^1) + 1)
注意
接尾語のUとL
デフォルトでは整数定数はint型として取り扱われ、必然的にとりうる値に制限がある。整数定数を他のデータ型として取り扱うには以下のようにする。
- 接尾語のuもしくはUをつけると、unsigned型の数値になる。例:33u。
- 接尾語のlもしくはLをつけると、long型の数値になる。例: 100000L
- 接尾語のulもしくはULをつけると、unsingned long型の数値になる。例: 32767ul
参照
オリジナルのページ
https://www.arduino.cc/reference/en/language/variables/constants/integerconstants/
Last Revision: 2020/12/26
最終更新日
January 4, 2024