縮小変換 | Programming Place Plus 用語集

トップページ用語集

名称

解説

プログラミングにおける型変換において、表現できる情報量が小さい(表現できる情報の種類が少ない)に変換することをいいます。

たとえば、64ビットの整数型から 32ビットの整数型への型変換や、倍精度浮動小数点型から単精度浮動小数点型への型変換といったものがあります。

縮小変換では、表現できる情報量が減るため、型変換の前のを、変換後の型でそのまま表現できるとは限りません。情報の一部が失われることによるバグの発生もあり得るため、プログラミング言語によっては、暗黙の型変換では縮小変換を許さずエラー警告を出すようにしています(明示的な型変換ならば可能なことがある)。自動的にチェックされない環境で必要性があれば、事前に境界検査を行って安全性を確認するようにします。

C言語は縮小変換を許しています(コンパイラの判断で警告を出すことはある)。C++ も基本的には同様ですが、縮小変換をコンパイルエラーにする機能が C++11 で追加されています。C言語での解説はC言語編第21章に、C++ の縮小変換に関する話題が新C++編「論理値」にあります。

なお、型の大きさが小さくなる型変換のことを縮小変換と呼ぶ説明もありますが、型の大きさが同じであっても、たとえば 32ビットの浮動小数点型から 32ビットの整数型への型変換では、小数点以下の情報を失うことになります。


参考リンク

更新履歴


用語集のトップページへ

Programming Place Plus のトップページへ



はてなブックマーク に保存 Pocket に保存 Facebook でシェア
X で ポストフォロー LINE で送る noteで書く
rss1.0 取得ボタン RSS 管理者情報 プライバシーポリシー
先頭へ戻る