[Constants]
説明
整数定数は、123 のようにスケッチで直接使用される数値です。デフォルトでは、これらの数値は int として扱われますが、U および L 修飾子を使用してこれを変更できます (以下を参照)。
通常、整数定数は 10 進数の整数として扱われますが、特殊な表記法 (フォーマッタ) を使用して他の基数で数値を入力することもできます。
| Base | 例 | Formatter | 備考 |
| 10 (decimal) | 123 | none | |
| 2 (binary) | B1111011 | leading ‘B’ | only works with 8 bit values (0 to 255) characters 0-1 valid |
| 8 (octal) | 0173 | leading ‘0’ | characters 0-7 valid |
| 16 (hexadecimal) | 0x7B | leading “0x” | characters 0-9, A-F, a-f valid |
10進数は10を基数とします。これは皆さんがよくご存知の常識的な数学です。他の接頭辞のない定数は10進数形式であるとみなされます。
101 // same as 101 decimal ((1 * 10^2) + (0 * 10^1) + 1)
2進数は2を基数とします。有効な文字は0と1のみです。
B101 // same as 5 decimal ((1 * 2^2) + (0 * 2^1) + 1)
バイナリフォーマッタは、0 (B0) から 255 (B11111111) までのバイト (8 ビット) に対してのみ機能します。int (16 ビット) をバイナリ形式で入力したい場合は、以下の 2 段階の手順で入力できます。
myInt = (B11001100 * 256) + B10101010; // B11001100 is the high byte
8進数は8を基数とします。有効な文字は0から7までです。8進数値は接頭辞「0」で示されます。
0101 // same as 65 decimal ((1 * 8^2) + (0 * 8^1) + 1)
*警告:
定数の前に (意図せず) ゼロを含め、コンパイラが意図せず定数を 8 進数として解釈することによって、見つけにくいバグが生成される可能性があります。
16進数(hexadecimal)は16進数です。有効な文字は0から9までとAからFまでです。Aは10、Bは11、Fは15です。16進数値は接頭辞「0x」で示されます。AからFは大文字でも小文字でも入力できます(aからf)。
0x101 // same as 257 decimal ((1 * 16^2) + (0 * 16^1) + 1)
U & Lフォーマッタ
デフォルトでは、整数定数は int として扱われ、値にはそれに伴う制限があります。整数定数を別のデータ型で指定するには、次のように記述します。
- 定数を符号なしデータ形式に強制するには、
'u'または'U'を使用します。例:33u - 定数を長いデータ形式に強制するには、
'l'または'L'を使用します。例:100000L - a
'ul'or'UL'to force the constant into an unsigned long constant. Example:32767ul
参照
- [Language] 定数
- [Language] #define
- [Language] byte
- [Language] int
- [Language] unsigned int
- [Language] long
- [Language] unsigned long
Language Reference Home
86Duinoリファレンスのテキストは、Arduinoリファレンスを改変したもので、Creative Commons Attribution-ShareAlike 3.0ライセンスに基づいてライセンスされています。リファレンス内のコードサンプルはパブリックドメインとして公開されています。