タダで使えるBorland C++ Part4
■ このスレッドは過去ログ倉庫に格納されています
003735
NGNG即レスありがとうございます。しかも遅くなってしまってすみません。
格上げの説明は載っていましたが、異なる型どうしの計算を行なうときに起きる、とだけ
記述されていました。
>>36さんのご説明によると、どうも「格上げ」をもっと調べた方が良さそうだったので
検索してみましたら、↓の「汎整数拡張」が関係してそうでした。
ttp://www9.plala.or.jp/sgwr-t/c_sub/TypeConversion.html
ということは、>>35の
printf(" a=%08X\n ~a=%08X\n",a,~a);
での最初のaはshort型(16ビット)のままだけど、
次のa(~a部分)は~演算前にint型(32ビット)に格上げされて、ビット反転後の16進法表示は
「0xFFFFFFF5」になる、ということですよね。
どこを勘違いしてるのか分からなくて調べようがなく、すごく困っていたので大変助かりました。
本当にありがとうございましたm(_ _)m
■ このスレッドは過去ログ倉庫に格納されています