整数定数

説明

整数定数はスケッチ内で直接記述される、123のような整数値を表す。デフォルトでは、これらの数値はint型の数値として扱われる。下の表で示すように、UやLという接尾語をつけることでこの振る舞いを変えることもできる。

通常、整数定数は10進数として扱われる。他の数字を底とする定数には特別な記法を用いる。

接頭語注釈
10123なし
2B1111011B8ビット以内の値(0から255)を表現可能。0と1だけが有効。
8017300から7の数字が有効。
160x7B0x0から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

inserted by FC2 system