重要なお知らせ

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

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

10進法で表された509を12ビットの2進数で表したいのですが、答えはどうなりますか??

A 回答 (7件)

基本に立ち返って、「n 進数の abcd.ef」は



 a * n^3 + b * n^2 + c * n^1 + d * n^0 + e * n^(-1) + f * n^(-2)

ということを理解しましょう。(0 ≦ a~f ≦ n-1 です)
これさえ理解していれば、何数数でも対応できます。

10進数の 509 は
 5 * 10^2 + 0 * 10^1 + 9 * 10^0
ということですね。

これを2進数に置き換えれば
 256 + 128 + 64 + 32 + 16 + 8 + 4 + 1
= 1 * 2^8 + 1 * 2^7 + 1 * 2^6 + 1 * 2^5 + 1 * 2^4 + 1 * 2^3 + 1 * 2^2 + 0 * 2^1 + 1 * 2^0

= 1 1111 1101 [2進数]

ですから、12ビットで表現すれば
 0001 1111 1101
です。

(補足)
#3 さんへの「お礼」に書いたように全桁を「だ~っと並べて」書くと、どの桁かが分からなくなるので、せめて「4ビットごと」にスペースを入れるぐらいの配慮をしましょう。
(そうすれば「16進数」になることが分かると、将来の役にも立ちますよ)
    • good
    • 0

2で割ってくなんてかったるいことはしません。


512は16進で200だから509は3引いて1FD。
これを2進に替えれば
0001 1111 1101
一瞬で頭の中でできます
    • good
    • 0

検算したいのであれば、電卓使いましょう。



スマホのアプリにも10進数←→2進数の計算ができる便利な電卓があると思うんだ。
(Windowsパソコンは標準の電卓でできる)
「10進法で表された509を12ビットの2」の回答画像5
    • good
    • 0

>>12ビットだと000111111101となったのですが正解か教えて頂きたいです。



大正解
    • good
    • 0

509を2で割った余りを書く(割り切れたら0)



商を2で割った余りを、上の余りの左へ書く。
これを繰り返し、商が0になった時の余りの列が2進数表現

例えば12。
12を2で割ると商6で余り0・・・・・0
6を2で割ると商3で余り0・・・・・00
3を2で割ると商1で余り1・・・・・100
1を2で割ると商0で余り1・・・・・1100

∴10進12=2進の1100
    • good
    • 0
この回答へのお礼

回答ありがとうございます。12ビットだと000111111101となったのですが正解か教えて頂きたいです。

お礼日時:2021/01/16 15:27

509÷2=254…1 ←1桁目


  ┌───┘
  ↓
 254÷2=127…0 ←2桁目
  ┌───┘
  ↓
 127÷2=63…1 ←3桁目
以下同様。

こうやって得た余りの数字が2進数になります。
難しくはない。
面倒なだけ。
    • good
    • 1
この回答へのお礼

回答ありがとうございます。12ビットにすると000111111101になったのですが正解か教えて頂きたいです。

お礼日時:2021/01/16 15:26

これ君の宿題でしょ

    • good
    • 0

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