数値の式
数値には、次のデータ型があります。
数値は、すべて値型として扱われます。これらの数値型は、格納できる値の範囲や使用するメモリ容量が異なります。
値型名 | 格納できる値の範囲 | ビット数 |
---|---|---|
整数 | -2,147,483,648~2,147,483,647 | 32 |
長整数 | -9,223,372,036,854,775,808~9,223,372,036,854,775,807 | 64 |
浮動小数 | 約7桁 | 32 |
倍浮動小数 | 約15~16桁 | 64 |
固定小数 | 約28~29桁 | 128 |
なお、これらの型をまとめて数値型と呼ぶことがあります。
数値定数
プログラムで具体的な数字(リテラル)を指定すると、プロデルが解析時にその数値を格納できる型に調整します。
数値は、全角、半角を問いません。負の数や小数点も表すこともできます。なお、数値を文字列として扱いたい場合は、文字列として「 」で囲みます。
123を表示する
16進数定数表記
数値を16進数表記で指定するには、先頭に「0x」を付けて書きます。
0xFFを表示する
2進数定数表記
数値を2進数表記で指定するには、先頭に「0b」を付けて書きます。
0b101を表示する
数値の変換
数値型の場合で、型が異なる変数に代入しようとすると、自動的に(暗黙的に)値の変換が行われます。
例文
次のプログラムでは、1.5が代入されている浮動小数である【値1】を、整数である【値2】へ代入しています。
【値1:浮動小数】は1.5 【値2:整数】は、値1 値2を表示する
値1と値2は型が異なるため、値1を値2へ代入するときに、値変換が行われます。具体的には、小数部分が切り捨てられて、1.5から1へ値変換されます。小数は四捨五入されません。
プロデルでは、変換前後の型に関係なく、すべて自動的に変換されます。値変換の時に、変換前の値が、変換後の範囲に収まらない場合は、切り捨てられるか正しく変換されないことがあります。
変換後に切り捨される型は次の通りです。
整数へ | 長整数へ | 浮動小数へ | 倍浮動小数へ | 固定小数へ | |
---|---|---|---|---|---|
整数から | - | ○ | ○ | ○ | ○ |
長整数から | △ | - | △ | ○ | ○ |
浮動小数から | 切り捨て | 切り捨て | - | △ | ○ |
倍浮動小数から | 切り捨て | 切り捨て | △ | - | ○ |
固定小数から | 切り捨て | 切り捨て | △ | △ | - |
○=正しく変換されます △=値が変換後の範囲に収まる場合は変換されます
切り捨て=小数が切り捨てられます
文字列との変換
数値型の値を文字列型の変数へ代入する時には、数値型が数字に変換されて文字列となります。
文字列型の値を数値型の変数へ代入する時には、文字列である数字が数値に変換されて数値型の値となります。