汎整数拡張の特異性とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 汎整数拡張の特異性の意味・解説 

汎整数拡張の特異性

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/10/02 16:40 UTC 版)

汎整数拡張」の記事における「汎整数拡張の特異性」の解説

上記条件と変換結果」の項に示したサンプルの式(2)では、インクリメント演算子の意味と、各型表現可能な値の範囲知ってさえいれば、(汎整数拡張ルールについて詳しく知らずとも)結果は十分予測できる。しかし、汎整数拡張コンパイル時に勝手に裏で行なわれる暗黙型変換」であるため、ルール知らなければ意外なバグ原因となる場合がある。 #include int main(void) { int si = -1; unsigned int ui = 1; printf("%d\n", si < ui); return 0;} 上記の例では、-1のほうが1より小さいことから、一見してsi < ui比較結果は真 (1) となるように見えるが、実際に汎整数拡張により、siのほうがunsigned int変換され、-1がUINT_MAXに変換されることによって、比較結果は偽 (0) となる。とはいえこのような例(符号付き型と符号無し型の比較)は典型的なプログラミングミスであり、通例コンパイラ警告発する対象となる。 具体的な解決策としては、式の中で用い変数の型を揃える、できるかぎり表現可能な値の範囲の広い型を使用する、といったことが挙げられるまた、処理系により整数型ビット数が異なことがあるので、あるソースコードそのまま別の処理系動作させる際、汎整数拡張により、移植前の処理系では起こり得なかったバグ急に発生するというケースもある。この場合は、整数型ビット数に依存しない移植性の高いソースコードを書くということ何より解決策となる。

※この「汎整数拡張の特異性」の解説は、「汎整数拡張」の解説の一部です。
「汎整数拡張の特異性」を含む「汎整数拡張」の記事については、「汎整数拡張」の概要を参照ください。

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



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

辞書ショートカット

すべての辞書の索引

「汎整数拡張の特異性」の関連用語

汎整数拡張の特異性のお隣キーワード
検索ランキング

   

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



汎整数拡張の特異性のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS