• ベストアンサー

×進法について

2,10,16進法についてです。 相互変換するにはどのようにしたらいいのですか? たとえば、10進から2進 , 10進から16進。 また、16進で10より大きくなった場合とかも併せて教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • en-sato
  • ベストアンサー率57% (4/7)
回答No.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桁ずつ分けるのです。 ――――――――――――――――――――――――――――――――――――― 長々とすいませんでした

その他の回答 (6)

  • martens
  • ベストアンサー率0% (0/1)
回答No.6

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

noname#4530
noname#4530
回答No.5

こういう変換は、最初の頃は意外と迷いますよね。 僕は、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で割って行くことによってゴミ(余り)を「搾り出して」行く訳です。出て来たゴミで、小さい桁の方から順に埋めて行きます。 何気ないことですけど、参考になれば…。

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.4

2進から16進の場合は、4桁ごとに分けて考ると楽です。 0100101011010101 ↓ 0100 1010 1101 0101 4  9  D  7 で、49D7となります。 16進から2進はその逆ですね。16進の各桁を、4桁の2進に直してやります。

  • Mell-Lily
  • ベストアンサー率27% (258/936)
回答No.3

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 という意味です。

  • eatern27
  • ベストアンサー率55% (635/1135)
回答No.2

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となります。

  • ShaneOMac
  • ベストアンサー率39% (356/898)
回答No.1

http://www12.u-page.so-net.ne.jp/qc4/survive/network/binhex.htm こことか “10進数”“16進数”“変換” とかキーワードにしてググればいくらでも計算式の載ったページが出てきます。

関連するQ&A