プロが教える店舗&オフィスのセキュリティ対策術

2,10,16進法についてです。

相互変換するにはどのようにしたらいいのですか?

たとえば、10進から2進 , 10進から16進。

また、16進で10より大きくなった場合とかも併せて教えてください。

A 回答 (7件)

これは 自分がやりやすい方法ですので、参考までに。


基本的に掛け算と足し算と引き算をすれば簡単に出来ます。


・二進法の考え方
   --------------------------------------------------------------
    (2の6乗) (2の5乗) (2の4乗) (2の3乗) (2の2乗) (2の1乗) (2の0乗)
10進数  64     32    16     8      4       2     1
   --------------------------------------------------------------





・二進数→十進数

例(1111110)を十進数

   --------------------------------------------------------------
    (2の6乗) (2の5乗) (2の4乗) (2の3乗) (2の2乗) (2の1乗) (2の0乗)
10進数  64     32    16     8      4       2     1
   --------------------------------------------------------------

二進数   1     1     1      1      1       1    0

(1111110)→64+32+16+8+4+2=126
----------------------------------------------------------------------
・十進数→二進数

例(100)を2進数

100→64*1+32*1+16*0+8*0+4*1+2*0+1*0→1100100

―――――――――――――――――――――――――――――――――――――
・16進法の考え方
数え方は
------------------------------------------------------------------
10進数   15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
16進数    F E D  C B  A 9 8 7 6 5 4 3 2 1 0
------------------------------------------------------------------
16になると10に桁上がりする。


    -----------------------------------------
     (16の3乗) (16の2乗) (16の1乗) (16の0乗)
十進数   4096    256    16     1
     -----------------------------------------

・16進数→10進数
 
(A35)を10進数

(A35)→256*A+16*3+1*5→256*10+16*3+1*5→2613

・10進数→16進数

2500を16進数


2500÷256=9…196
196÷16=12…4

    ---------------------------------
     (16の2乗) (16の1乗) (16の0乗)
十進数    256    16    1
    -------------------------------
        9    12     4

ここで 16進数なので12をCにして

2500→9C4 になります
       
―――――――――――――――――――――――――――――――――――――
16進数→2進数 は No.4 さんやり方が分かりやすいですね。
4桁に分ける理由は 
2進の(1111)→10進の15→16進の F    
2進の(10000)→10進の16→16進の10      

2進数が4桁から5桁に桁上げする時、16進数でもちょうど良く桁上がりするから
2進数を4桁ずつ分けるのです。
―――――――――――――――――――――――――――――――――――――
長々とすいませんでした
    • good
    • 0

ちゃんとした説明は他の方がされているのでオマケっぽいことを。


Windowsならば電卓を使えば楽ちんです。
スタートメニュー>プログラム>アクセサリ>電卓を選択。
表示で関数電卓を選びます。
16 or 10 or 8 or 2進数が選べるので10進にチェックをいれてください。
例えば、123と入力して16進のところにチェックを入れれば、16進数に変換された値=7Bが表示されます。
2進・16進→10進の場合はその逆で。
割と便利ですよ。
    • good
    • 0

こういう変換は、最初の頃は意外と迷いますよね。


僕は、No.2の方の方法を初めて知ったとき、頭の中が???に成ってしまった、という経験を持っているので、No.2の方の方法の意味などを説明させてもらいたく思います。

「a/b = c (余りd)」というのと「a = b*c + d」というのは同じ事(同値)ですよね。これは、「aの中にはbがc個含まれていて、dというゴミがついて来る。」という意味だと考えると印象に残り易いかと思います(いや、そんなことは当たり前じゃんか、と思っても石を投げないで下さい~~)。
これを使って説明を試みます。

No.2の方に習って、13(十進法表現)の十進数→二進数への変換で考えます。
13 = 2*6 + 1 = 2*(2*3) + 1 = 2^2*3 + 1 = 2^2*(2*1 + 1) + 1 = 2^3*1 + 2^2*1 + 1
これを二進法で表現すると、1101ですね。
この式の変形が、No.2の方の方法の意味です。つまり、2で割って行くことによってゴミ(余り)を「搾り出して」行く訳です。出て来たゴミで、小さい桁の方から順に埋めて行きます。

何気ないことですけど、参考になれば…。
    • good
    • 0

2進から16進の場合は、4桁ごとに分けて考ると楽です。


0100101011010101


0100 1010 1101 0101
4  9  D  7

で、49D7となります。
16進から2進はその逆ですね。16進の各桁を、4桁の2進に直してやります。
    • good
    • 0

10進法で”3729”は、


 3×10^3+7×10^2+2×10^1+9×10^0
という意味です。2進法で”1011”は、
 1×2^3+0×2^2+1×2^1+1×2^0
という意味です。
    • good
    • 0

10進法から2進法へ


10進法の数をを2で割ります。余りを求めて下さい。次に、商を2で割る。余りを出す。商を2で割る。商が0になるまで繰り返す。余りを右から順に書いていく。
ex.13(10)
13/2=6あまり1,6/2=3あまり0,3/2=1あまり1,1/2=0あまり1
13(10)=1101(2)
括弧内は何進法であるかを示す。
10進法から16進法へ
2進法と同じ原理
10進法の数を16で割り、余りを出す。商を16で割る。余りを出す。商が0になるまで繰り返し、余りを右から順に書く。
ex.180
180/16=11あまり4、11/16=0あまり11
180(10)=B4(16)

商が0になるまでと書きましたが商が割る数(2や16)以下になるまででも良い。その場合は一番左に最後の商を書く。

16進法
0~9は同じ、
10はA、11はB、12はC、13はD、14はE、15はF、16は10となります。
    • good
    • 0

http://www12.u-page.so-net.ne.jp/qc4/survive/net …

こことか


“10進数”“16進数”“変換”

とかキーワードにしてググればいくらでも計算式の載ったページが出てきます。
    • good
    • 0

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