Arduinoリファレンス

Arduinoリファレンスの日本語訳のページです
garretlab
整数定数

整数定数

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

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

接頭語 注釈
10 123 なし 0から9の数字が有効。0以外の数値で始める。
2 B1111011 B 8ビット以内の値(0から255)を表現可能。0と1だけが有効。
8 0173 0 0から7の数字が有効。
16 0x7B 0x 0から9、AからF、aからfが有効。

10進数

接頭語のない数値は10進数とみなされる。

101     // 10進数の101   ((1 * 10^2) + (0 * 10^1) + 1)

2進数

2進数では0と1だけが利用可能である。先頭にBをつける。

B101    // 10進数の5   ((1 * 2^2) + (0 * 2^1) + 1)

2進表記では1バイト(8ビット)だけを表すことができる。よって実際に表される数は0(B0)と255(B11111111)の間である。int型の数値が必要なときは、以下のように2段階で生成することができる。

myInt = (B11001100 * 256) + B10101010;    // B11001100 は上位バイト

8進数

0から7までの数値が有効である。8進数は先頭に0をつける。

0101    // 10進数の65   ((1 * 8^2) + (0 * 8^1) + 1) 

注意

(意図せず)定数を0で始めると、コンパイラは8進数と解釈するので、見つけるのが困難なバグを埋め込む可能性がある。

16進数

0から9とAからFまでが有効である。Aは(10進数で)10、Bは11、Fは15である。16進数は0xという接頭語をつける。AからFは、小文字のaからfでもよい。

0x101   // 10進数の257   ((1 * 16^2) + (0 * 16^1) + 1)

接尾語のUとL

デフォルトでは整数定数はint型として取り扱われ、必然的にとりうる値に制限がある。整数定数を他のデータ型として取り扱うには以下のようにする。

  • 接尾語のuもしくはUをつけると、unsigned型の数値になる。例:33u。
  • 接尾語のlもしくはLをつけると、long型の数値になる。例: 100000L
  • 接尾語tのulもしくはULをつけると、unsingned long型の数値になる。例: 32767ul

バージョン

Arduino 1.8.3



メニューを表示するためにJavaScriptを有効にしてください。

inserted by FC2 system