C言語なら俺に聞け(入門編)Part 106
■ このスレッドは過去ログ倉庫に格納されています
0610Rubyist
2012/09/03(月) 23:13:45.97いくつか教えていただきたいことがあります。
キーワードでもよいので、教えていただけますと助かります。
1.メモリ上のビット(01の列)をそのまま表示する方法はありますか?
たとえば、
char a = 1;
とすると、教科書には、
メモリ上に1バイト分確保され、
00000001
というデータが保存されると書いてありますが、
この、00000001 をそのまま表示する方法ありますか?
数字を2進数で表示する (printfの%x) でなく、
メモリ上の1バイト分の01の列を表示したいです。
2.変数のデータ型が、int であるとか、unsigned int であるとか、char であるとかというのは
どこに保存されているのでしょうか?
1の質問とも関連しているのですが、
charが1バイト確保して、そこに01のビットをならべて、8ビットの情報を保持するとすると、
その1バイトがどういうデータ型なのか保存しておく領域がないですよね。
charとintだとあまり困らないようにも思いますが、
unsignedだと、先頭の1ビットが正負を表すので、その1バイトの表す数字の意味が大きくかわりますよね。
このあたりの仕組みを教えてもらえると助かります。
Rubyだと、数字もクラスなので、こういった疑問がなかったのですが、C言語だと避けてとおれないようなので、教えていただけますと助かります。よろしくお願いします。
■ このスレッドは過去ログ倉庫に格納されています