![]() |
![]() |
![]() |
10進数を2進数に変えよう
とにかく理由(わけ)が分からないと‥おもろくもない。
前ベージの答え
問1 (2) 順に数えて、次の数が 10 0000 0000=2 9= 512 となると考えた方が早い。
問2 (1)11.011
=1×21 +1×20 + 1×2-2 +1×2-3
=2+1+ 0.25 + 0.125
= 3.375
補足です 、考えようではムダ足ですか。
問1 (1)86 (計算略します)
(2)511
問2 (1) 3. 375
(2) 5. 3125 (計算略します)
問3 関数Boxのルールの答え
(1)30、110
(2)15、55
(ここは2進数と関係はありません)
55(10) を2進数に直す(方法その1)
あまり多用しませんけどm(*_*)m
55=32+16+4+2+1=25+24+22+21+20
=1×25+1×24+1×22+1×21+1×20
=110111(2) 当然のことながら、これは2進数を10進数に直す計算順序と逆なんですが。
マア、32=25、64=26 などが頭葉のどっかにあるからです。
次に発想を変えて見ましょう! シフトについては 論理シフト演算(1010ページ)に詳しく(くわしく)述べますから、 ここではチョット触れる程度です。
正の整数を扱っています。

10進数→2進数について
仮に2進整数 C=cncn-1‥‥c3c2c1
に変わったとします。すべてのcmは0か1です。
Cを2で割る(

最下位ビットc1 が整数Boxから飛び出します。
(もし小数Boxが続いておれば、小数第1位ビットへ入る。)
c1は0か1ですから、2で割ったときの余りです。
c1=0 のとき元の数は偶数(割り切れる)
C1=1のとき元の数は奇数です。 次に整数Boxに残った
cncn-1‥‥c3c2 について、2で割ります。この最下位ビットc2が飛び出します。次々に繰り返します。最後に残りがcnになるまで続けます。
次はこれを使った計算方法です。
55 (10) を2進数に直す(方法その2)
これは良く使いますm(*_*)m

補足だそくに入りますヨ
2 | 32+16 +4 +2 +1
2 | 16 +8 +2 +1 余り 1
2 | 8 +4 +1 余り 1
2 | 4 +2 余り 1
2 | 2 +1 余り 0
2 | 1 余り 1
0 余り 1
2 | 32+16 +4 +2 +1
2 | 16 +8 +2 +1 余り 1
2 | 8 +4 +1 余り 1
2 | 4 +2 余り 1
2 | 2 +1 余り 0
2 | 1 余り 1
0 余り 1
小数の10進数→2進小数
かんたんにふれます。
詳しくは分数と小数(0111ページ)に書きます。
例 0.8125(10) を2進小数に

この理屈も 楽しいので、 詳しい説明は 分数と小数のページに
ゆずりました m(*_*)mです。
補足だそくに入りますヨ
0.8125× 2 = 1.6250
整数(せいすう)部の1を取り(出して)
0.625 × 2 = 1.250
整数部の1を取り
0.25 × 2 = 0.5 整数部は0
0.5 ×2 = 1.0
整数部の1を取り
残りが0 <0 になるまで続ける>
0.8125× 2 = 1.6250
整数(せいすう)部の1を取り(出して)
0.625 × 2 = 1.250
整数部の1を取り
0.25 × 2 = 0.5 整数部は0
0.5 ×2 = 1.0
整数部の1を取り
残りが0 <0 になるまで続ける>
問題で〜す n(^_^)n
問1 1000000(10)を2進数に換えよう。
問2 0.4(10)
を2進数に換えよう。 全て符号なし(正の数)です。
問1 この数は 百万です。
問2 困(こま)ったことに今度はピッタシと終わらない。
どこまでも続いて終わらないので、てきとうなところで終わってください。
現在では、ファイルサイズが何キロバイト、メモリー容量が何メガバイト、何ギガバイトのハードディスクなどと云います。 単純には、バイトマシンが、途方もなく多くつながっていると云うことです。
次に なぜ「約=およそ」がつく?
1キロバイトは
1KB = 約 1000 バイト(B) です。
(一休室にて説明しています) さらに
1メガバイト 1MB=約1000KB
1ギガバイト 1GB=約1000MB
1テラバイト 1TB=約1000GB
‥‥ です。
![]() |
![]() |
![]() |
