- 37 名前:35 mailto:sage [04/08/24 01:47]
- >>36
即レスありがとうございます。しかも遅くなってしまってすみません。 格上げの説明は載っていましたが、異なる型どうしの計算を行なうときに起きる、とだけ 記述されていました。 >>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
|

|