直定数 |
辞書:電算用語の基礎知識 プログラミング仕様編 (PTPROGS) |
読み:ちょくていすう |
外語:literal |
品詞:名詞 |
プログラム、ステートメントに、内容そのままに書かれた定数のこと。英語で「リテラル」といい、こちらの表現が広く使われている。
|
概要 |
直定数(リテラル)が利用できないプログラミング言語は、おそらく存在しない。それほどに基本的なものである。
高級言語においては、主に次のような直定数が存在する。
特徴 |
数値直定数 |
直定数のもっとも基本的なものは、整数値を即値で与えるものである。
最もシンプルなものは10進数のみが利用できるが、さまざまな基数に対応するプログラミング言語もある。
最も普通の数値。
C、C++、Javaでは、0以外の数字で始まる数字の列が、10進数の直定数である。但し、ゼロ自体は0と書かれる。
BASIC、Delphiでは、数字の列をそのまま書けば、10進数の直定数である。
BASICでは、&Bから始まり、0と1のみの数字の列が、2進数の直定数である。
CとJavaでは、標準では2進数の直定数は存在しない。2進数は、8進数などより遥かに多く使われているはずにも関わらず、である。
Delphiにも2進数直定数は存在しない。
但しC/C++では実装により、0bまたは0Bから始まり、0と1のみの数字の列を、2進数の直定数とするものがあった。例えばGCCではGCC 4.3以降で対応した。他にも組み込み系のCコンパイラーで対応する例が散見される。需要が高いからだろう。
Swiftでは、当初よりC++と同様に0bから始まる仕様を採用した。
C、C++、Javaでは、0から始まり、0〜7までの数字の列が、8進数の直定数である。
BASICでは、&Oから始まり、0〜7までの数字の列が、8進数の直定数である。
Delphiには8進数直定数は存在しない。
Swiftでは、0oから始まり、0〜7までの数字の列が、8進数の直定数である。C/C++と違い、0oとなっている。
C、C++、Javaでは、0xまたは0Xから始まり、0〜9、A〜Fからなる文字列が、16進数の直定数である。
BASICでは、&Hから始まり、0〜9、A〜Fからなる文字列が、16進数の直定数である。
DelphiやTurbo Pascalでは、$から始まり、0〜9、A〜Fからなる文字列が、16進数の直定数である。
いずれも、A〜Fは大文字・小文字を問わない。
浮動小数点数を表わす直定数である。基本的には、次のスタイルで表現される。
整数部 小数点 小数部 指数部
整数部は原則として10進数の数値だが、1999(平成11)年版のCであるC99(ISO/IEC 9899:1999)では、整数部に16進数を用いることができる。
小数点は、プログラミング言語界の標準はピリオドである。
小数部は原則として10進数の数値である。
指数部は、区切りの記号のあと、+または−を付け、指数の値を10進数で記述する。+は省略できる。C/C++の場合、指数部の区切りがeまたはEなら単精度、dまたはDなら倍精度、qまたはQなら4倍精度である。
文字直定数 |
C/C++では一文字を'で括ったものを文字直定数という。
例えば、'A'のようにして用いる。
文字列直定数 |
C/C++では、0文字以上の文字列を"で括ったものを文字列直定数という。
boolean直定数 |
null直定数 |
空参照を表現する定数であり、一般にnullで表わす。
この型は、Java、JavaScript、PHPなどの言語にある。
ヒアドキュメント |
リンク |
通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022) Search System : Copyright © Mirai corporation Dictionary : Copyright © WDIC Creators club |