重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

C言語等に於けるバイナリデータは基本的に前ゼロのついた状態で電算機は記憶・処理しているのでしょうか?例えば1なら00000001のように。

A 回答 (4件)

はいそうです。



32ビットコンピューターでは、
ただ 1 と書くとint型として扱われるので2進数で
0000,0000,0000,0001
という値が処理されます。

unsigned char i = 1;

と書くとメモリには、2進数で
0000,0001
という値が1バイトの容量を使って記憶されますが、

i + 2;

という計算をすると、2進数で、
0000,0000,0000,0001 + 0000,0000,0000,0010
という処理が行われます。
    • good
    • 0

No.2です。

すみません、0の数が違っていました。


正しくは、

はいそうです。

32ビットコンピューターでは、
ただ 1 と書くとint型として扱われるので2進数で
0000,0000,0000,0000,0000,0000,0000,0001
という値が処理されます。

unsigned char i = 1;

と書くとメモリには、2進数で
0000,0001
という値が1バイトの容量を使って記憶されますが、

i + 2;

という計算をすると、2進数で、
0000,0000,0000,0000,0000,0000,0000,0001 + 0000,0000,0000,0000,0000,0000,0000,0010
という処理が行われます
    • good
    • 0
この回答へのお礼

ご丁寧に有難うございました。パソコンしか使わない人にはなかなか分からない部分ですね?

お礼日時:2010/04/22 20:42

>32ビットコンピューターでは、


>0000,0000,0000,0001

ビット数が食い違っているため、
質問者さんが混乱を来しそうです。
    • good
    • 0
この回答へのお礼

有難うございます。大まかなイメージを掴むことが出来ました。

お礼日時:2010/04/22 20:44

型によって固定のサイズの2進数として扱うでしょう。


当然0にあたるビットが保持されていますし、負の数なら上位は1で埋まってると思います。
    • good
    • 0
この回答へのお礼

有難うございました。いろいろ本を読んでみます。

お礼日時:2010/04/22 20:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!