キャスト演算子 【casting operator】 型変換演算子
概要
キャスト演算子(casting operator)とは、プログラミング言語に用意された演算子の一つで、あるデータ型の値を別のデータ型に変換する演算子。C言語などの「(型名)式」という記法を採用している言語が多い。プログラム中で扱う変数や定数、リテラルなどにはデータ型があり、同じ「1」でも、整数型の「1」と浮動小数点数型の「1.0」、文字列型の「"1"」は内部的には異なる形式のデータとして扱われる。
あるデータ型の値を別のデータ型による表現に変換することを「型キャスト」(type casting)あるいは「型変換」という。コンパイラなどの言語処理系がコードの内容に沿って暗黙のうちに行う場合もあるが、コード中で明示的に変換を指示することもでき、その際にキャスト演算子が用いられる。
C言語やその記法を受け継ぐ多くの言語では「(型名)式」という型名を括弧に入れた単項演算子として表現する。式には変数名やリテラル、複数の値を演算子で結んだ式などを指定することができる。例えば、float f=1.0; int i=(int)f; のようにすると、iには浮動小数点数の「1.0」を整数に変換した「1」が代入される。
データ型によって表現できる値の範囲は異なるため、倍精度浮動小数点数(double型)を単精度浮動小数点数(float型)に変換したり、浮動小数点数を整数に変換する場合などには変換に伴って情報が欠落する場合がある。「整数にキャストする場合は小数点以下を四捨五入する」など、言語仕様で変換時のルールが決まっている。
(2024.2.9更新)