暗黙の型変換と明示的型変換とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 暗黙の型変換と明示的型変換の意味・解説 

暗黙の型変換と明示的型変換

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/06/07 23:27 UTC 版)

型変換」の記事における「暗黙の型変換と明示的型変換」の解説

暗黙型変換は、明示的に指定しなくてもコンパイラ判断によって自動的に行われる型変換で、型強制type coercion)ともいう。逆に明示的に指定して行う型変換明示的型変換という。 暗黙型変換では、たとえばある式の中に複数の型の変数がある場合すべての変数を最も上位の型に変換するdouble d;long l;int i;/* ... */if (d > i) d = i;if (i > l) l = i;if (d == l) d *= 2; このC言語コードでは、dとlとiは異なったデータ型をもっているので、すべての演算自動的に同じ型に変換された後に行われる。より大きなサイズの型に変換されることを拡大変換 (widening conversion) と呼び、より小さなサイズの型に変換されることを縮小変換 (narrowing conversion) と呼ぶ。 暗黙型変換には注意しなければならないこともある。たとえばdouble型(浮動小数点数)の値をint型整数型)の変数代入する場合小数点以下の端数があったり、元の値がint型表現できる範囲超えていたりすると、縮小変換により情報一部失われてしまう。浮動小数点数特有の誤差により、意図せず切り捨てられてしまうこともありうるまた、符号付き整数符号無し整数との間の暗黙変換に関しても、同様に情報失われたり、整数オーバーフローにより意図しないになってまったりする可能性がある。C言語およびC++では暗黙縮小変換許しているが、情報失われる可能性のある変換に対して通例コンパイラ警告を出す。JavaC#などの後発言語では、暗黙縮小変換許可せず、後述するキャスト (cast) 構文による明示的な変換が必要となる。さらに型の扱い厳密なF#などの関数型言語では、暗黙拡大変換許可せず、キャスト構文による明示的な型変換が必要となる。

※この「暗黙の型変換と明示的型変換」の解説は、「型変換」の解説の一部です。
「暗黙の型変換と明示的型変換」を含む「型変換」の記事については、「型変換」の概要を参照ください。

ウィキペディア小見出し辞書の「暗黙の型変換と明示的型変換」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「暗黙の型変換と明示的型変換」の関連用語

1
16% |||||

暗黙の型変換と明示的型変換のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



暗黙の型変換と明示的型変換のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの型変換 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2024 GRAS Group, Inc.RSS