>整数の出力について入力中の回答があります。ページを離れますか?※ページを離れると、回答が消えてしまいますページを離れるA回答を続ける入力中のお礼があります。ことで少しわからないことがあります。1U;として出力したところddt1は-2.0ddt2は4294967294.0となりました。説明が不足ならまたつけたしますのでどうか教えてください。通報するこの質問への回答は締め切られました。変換」に関するQ&A:補数について質問です。19:25169という数値を例とします。169=100+60+9=1*100+6*10+9*1=1*(10の2乗)+6*(10の1乗)+9*(10の0乗)となります。各々の「a*(bのc乗)」に着目します。a:もとの数値の各桁の数字b:10で固定(だから10進数といいます)c:いちばん右から0、1、2と増えていくここで、0169という表記のことを考えます。途中を省略すると、0169=0*(10の3乗)+1*(10の2乗)+6*(10の1乗)+9*(10の0乗)となります。最初の項である「0*(10の3乗)」は、「0に何を掛けても0」という原則から0です。その結果、1*(10の2乗)+6*(10の1乗)+9*(10の0乗)=0*(10の3乗)+1*(10の2乗)+6*(10の1乗)+9*(10の0乗)となり、169=0169となります。同様に、00169も、000169も、0・・・0169も、すべて「百六十九」です。2進数の010101010と10101010が同じかどうか、という話でした。答えは、もうおわかりですね。通報するこの回答へのお礼そうゆことだったんですか。付いているだけですね。こんなに長く質問に付き合っていただき、ほんとうにありがとうございました。説明もとてもわかりやすく、いい勉強ができました。011;「C言語では」先頭にゼロを付けると、8進数であるとみなすことになっています。したがって、この値が10進で9になるのは正しいです。先の回答で書いたのは、一般的な世界において、10進の169016900000000169は同じですか?異なりますか?という話です。この回答への補足よくわかりませんが、同じ値になると思います。間違っていたらごめんなさい。異なる値をもつと思います。出てきてしまうからです。010101010になるのかよくわかりません。二進数を十進数に直す程度です。010101001は十進数にすると169になると思います。考えると010101010は170になると思うのですが、170を二進数にすると10101010となり少し混乱しています。09:46使用されているC言語の教科書に「暗黙の型変換」という項目があれば、そこを読まれたらいかがかと存じます。21:30コンピュータでマイナスの値を保持する場合には、一般的に「2の補数」の形式が用いられます。詳細は割愛しますが、簡単に言うと正の数のビットを反転して1を足すと負の数になります。int型のデータサイズは、32ビットなので、+3を2進数で表現すると、00000000000000000000000000000011-3は、+3を反転させて11111111111111111111111111111101-3を、負の数ではなく正の数として10進数にすると、4294967293になります。情報処理試験でもよく問われる内容ですし、プログラミングの基礎ですので、この機会に、勉強されると良いかと思います。