質問: 12345として12345の二進数11000000111001も1バイトずつ読み込むと、多分12345にはならないと思うのですが、どうやって12345と正しく表示しているのか知りたいです。 もう一つ、 あの、printfの演算子%sや%dで二進数0110001(1)を表示すると、どうなるのでしょうか? ただ、1と表示されるだけでしょうか?
回答: >64bitのメモリに二進数として保存されるとして、 それは、質問者さんのpcの環境での話ですよね。 >思うのですが、どうやって12345と正しく表示しているのか知りたいです。 それは、質問者さんのpcの環境のcコンパイラに聞いてみて下さい。 具体的にどの様にしてメモリに保存し、どうやって12345と表示するかは、コンパイラが決めています。ここで 私のpcの私の使用しているcコンパイラでの処理内容を解説しても、回答になりませんよね。 おまけ コンパイラにはアセンブラ出力のオプションがあると思いますので、疑問に思ったcのプログラムのアセンブラ出力を読めば、具体的な処理内容がわかりますよ。