この人頭いいなと思ったエピソード

キーボードで入力された1以上の正の整数n(1~15)を2進数(4bit)で出力するプログラムを作りたいんですが、
出力例に書かれている内容、

-出力例-

正の整数:12
整数 12 を2進数表記すると下位bitより 0011 となります。

----

上記の下位bit、というのはどういう意味でしょうか?

また、この下位bitというものをどうやってプログラム上で
表記すればいいのでしょうか?
教えてください。

A 回答 (2件)

bitは10進数でいうところの桁のような意味で


数値が下の桁から順に書かれているということです.
下位bitより0011 = 上位ビットより1100 = 2^3 + 2^2 = 12 です.

プログラムは参考URLを見ればすぐ作成できると思います.
上位bitからの出力になっているので,そこを変更すればできます.

参考URL:http://www.geocities.jp/KY_webid/c/049ans.html
    • good
    • 0
この回答へのお礼

ありがとうございました、なんとかできました。
URL助かりました。

お礼日時:2009/06/12 02:20

4bitは4桁の2進数(0000B)


これをニブルと呼ぶ。
8bitは8桁の2進数(0000 0000B)
これをバイトといい
ニブルとして分けると左の4桁(1ニブル)を上位bit、右の4桁(1ニブル)を下位Bitと呼ぶ。
下位Bitは0~15までの10進数を表すことができるので
問題では下位Bitの2進数4桁を表示するという意味になります。

プログラム上では、単純に上位Bitを無視して下位Bitだけ出力すればいいと思います。
ループしながら論理積でビットの有無を確認して1か0を出力
このとき8,4,2,1と下位ビットの最上位ビットから比較していけば正しく出力できると思います。
    • good
    • 0
この回答へのお礼

なるほど・・・。
論理積をちょっとうまく使えませんでしたが、
完成しました、ありがとうございました。

お礼日時:2009/06/12 02:22

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