FreeBASIC マニュアルのトップに戻る

FreeBASIC ProPgLiterals

目次→教本→プログラマーのための案内Literals←オリジナル・サイト

直定数 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい

←リンク元に戻る プログラム開発関連に戻る

コンパイル時に変更しない、文字通りの、文字列と数字とブール値。

直定数は、数か、文字の文字列か、ブールの値の文字列で、ソースコードで直接指定されます。
直定数の値は、それを変数や定数に割り当てたり、手続きに渡したり、または、式の中に入れて、使われます。

数字直定数は、整数と浮動小数点の、2つの形式があります。

整数直定数

10進数
10進数で使われる数字 ( 0 1 2 3 4 5 6 7 8 9 ).
注意: 負の数にするには、"-" 符号 (演算子 - (Negate)) を、数字直定数の前に置きます。

Dim x As Integer = 123456
Dim b As Byte = -128



16進数
"&H" の後ろに、16進数の桁の文字を続けます ( 0 1 2 3 4 5 6 7 8 9 A B C D E F ).

Dim x As Integer = &h1E240
Dim b As Byte = &H80



8進数
"&O" ( O は、"Octal" の頭文字。又は "&") の後ろに、8進数の数字を続けます ( 0 1 2 3 4 5 6 7 )

Dim x As Integer = &O361100
Dim b As Byte = &O200


2進数
"&B" の後ろに、2進数の数字を続けます ( 0 1 )

Dim x As Integer = &B11110001001000000
Dim b As Byte = &B10000000



整数サイズ接尾語
整数直定数接尾語を与えないと、直定数を保持するのに必要な数字項目のサイズは、自動的に計算されます。
サイズ接尾語を指定すると、コンパイラは、数字が、特定の整数サイズであるとみなします。

整数直定数の後ろに付ける文字と意味:

数値リテラルの前に付けるマイナス (-) およびプラス (+) の記号は、数値リテラルの一部ではありません。
式("-1L" など)は、正のリテラル("1L")で表される値に適用される否定演算子として解析されます。 これには暗黙の型変換が含まれる場合があります。
明示的な "+" 符号が整数リテラルの前にある場合と同じ動作です。

接頭語、接尾語、および16進数文字桁は、すべて大文字と小文字を区別しません。
Dim a As Long = 123L
Dim b As UInteger = &h1234u
Dim c As LongInt = 76543LL
Dim d As ULongInt = &b1010101ULL



浮動小数点直定数
浮動小数点数は、十進数桁で指定されています。浮動小数点数は、正数と負数があります。小数部分があり、オプションで指数があります。
浮動小数点直定数の形式は、以下の通りです(空白や括弧は追加されません):

number[.[fraction]][(D|E)[+|-][exponent]][suffix]
または
.fraction[(D|E)[+|-][exponent]][suffix]

デフォルトで、指数か接尾語のいずれかを持っていない浮動小数は、倍精度浮動小数値とみなされます。
-lang qb 方言では、7ケタ以下の数は、単精度とみなされます。
Dim a As Double = 123.456
Dim b As Double = -123.0



数/小数部の後の "D" か "E" の文字は、この数が、指数として与えられていることを意味します。
指数は、正数か負数かを、プラス ("+") かマイナス ("-") 符号で、指定できます。
符号を持っていない指数は、正数です。

指数値は、文字の後(または記号の後)に必要ないので、文字を、自身の型を指定するためだけに使えます。
"D" は、倍精度浮動小数点の数を指定します。
"E" は、デフォルトの精度を使って、浮動小数点の数を指定します。
文字が、接尾辞と組み合わせて使われる場合(以下を参照)、接尾辞で示される型は、文字で指定される型より優先されます。

Dim a As Double = -123.0d
Dim b As Double = -123e
Dim c As Double = 743.1e+13
Dim d As Double = 743.1D-13
Dim e As Double = 743.1E13
Dim f As Single = 743D! 



数値に、接尾辞 "!" か "F" を指定すると、単精度(合計32ビット)浮動小数点値が指定されます。
接尾辞 "#" または "D" は、倍精度浮動小数点数を指定します。

接尾語の文字と指数指定子は、大文字と小文字を区別しないことに、注意してください。

Dim a As Single = 3.1!
Dim b As Single = -123.456e-7f
Dim c As Double = 0#
Dim d As Double = 3.141592653589e3#



文字列直定数
文字列直定数は、文字の並びで、2つの二重引用符の間に挟まれます。
文字の並びは、エスケープと、非エスケープがあります。

二重引用符は、文字列直定数の指定で、2つの二重引用符を一緒に使う必要があります。
Print "Hello World!"
Print "That's right!"
Print "この ""単語"" が二重の引用符で囲まれていることに注意して下さい。"



文字列直定数は、文字列直定数の前に、! operator (Escaped String Literal) を置くと、エスケープ・シーケンスを含むことができます。
使えるエスケープ・シーケンスのリストは、Escape Sequences を見てください。
Print !"Hello\nWorld!"



デフォルトで、文字列直定数は、非エスケープです。Option Escape をソースで使うと、以降のすべての文字列直定数は、デフォルトでエスケープになります。

文字列は、$ operator (Non-Escaped String Literal) を前に置いて、明示的に非エスケープに指定することができます。
Print $"C:\temp"


Unicode のエスケープ文字 (\u) を持つ ASCII ファイル以外に、FreeBASIC は、ソースファイルが Byte Order Mark (BOM)付きで保存されている限り、UTF-8、UTF-16LE、UTF-16BE、UTF-32LE、UTF-32BE を扱えます。そして、文字列直定数に Unicode 文字を直接入れることができます。
一般に UTF-8 は BOM 無しも許されますが、FreeBASIC では UTF-8 として認識するために BOM が必要であることに注意して下さい。
注:最も信頼性の高いクロスプラットフォームコードは、ASCII/UTF-8 文字で BOM なしでエンコードすることで得られます。

ASCII ファイルの文字列直定数は、ZString として扱われ、Unicode ファイルの文字列直定数は(文字列直定数の値にかかわらず) WString として扱われます。


ブール直定数
ブール型は、直定数 TrueFalse によって表される 2つの値を持っています。

Dim a As Boolean = False
Dim b As Boolean = True



参照:
プログラマーのための案内に戻る
←リンク元に戻る プログラム開発関連に戻る

ページ歴史:2022-05-21 07:19:06
日本語翻訳:WATANABE Makoto、原文著作者:JeffMarshall

ホームページのトップに戻る

表示-非営利-継承