• ベストアンサー

10進数から2進数への変換

初級シスアドを勉強している者です。10進数から2進数に変換する方法で2で割っていく方法は知っているのですが、解くのに時間がかかってしまいます。もっと早く変換できる方法はありませんか?

  • lamm
  • お礼率100% (25/25)

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

  • ベストアンサー
  • morigann
  • ベストアンサー率17% (57/329)
回答No.1

2進数のそれぞれの値を覚えたらどうでしょうか? 00000001=1 00000010=2 00000100=4 00001000=8 00010000=16 00100000=32 01000000=64・・・のように。 21なら、16+4+1なので00010101

lamm
質問者

お礼

回答ありがとうございます。 なるほど2^0だと一番右側が1で2^1、2....と増えていくごとに1を左側にスライドさせればいいのですね。こんな覚え方思いつきませんでした。morigannさんに20pt差し上げたいところですが、違う考え方もあるかもしれないので、もう少し締め切らずに待ってみます。

その他の回答 (2)

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.3

さらにANo.1・ANo.2と同じことですが。 情報処理技術者試験を受験する人にとって2の-4乗~2の16乗は,小学生が九九を暗唱するのに匹敵する要点だと思います。 -------------------------------- (00000000 00000001)2 = ( 1)10 (00000000 00000010)2 = ( 2)10 (00000000 00000100)2 = ( 4)10 (00000000 00001000)2 = ( 8)10 (00000000 00010000)2 = ( 16)10 (00000000 00100000)2 = ( 32)10 (00000000 01000000)2 = ( 64)10 (00000000 10000000)2 = ( 128)10 (00000001 00000000)2 = ( 512)10 (00000010 00000000)2 = ( 1024)10 (00000100 00000000)2 = ( 2048)10 (00001000 00000000)2 = ( 4096)10 (00010000 00000000)2 = ( 8192)10 (00100000 00000000)2 = (16384)10 (01000000 00000000)2 = (32768)10 (10000000 00000000)2 = (65536)10 (0.1 )2 = (0.5)10 (0.01 )2 = (0.25)10 (0.001 )2 = (0.125)10 (0.0001)2 = (0.0625)10 -------------------------------- これらの値を暗記できていれば,値を組み合わせたり,値からの差分を増減したりすることで,10進→2進への変換ができます。 例1…(100)10 = 64 + 32 + 4 = (01100100)2 例2…(130.125)10 = (128 + 2) + 0.125 = (10000010.001)2

lamm
質問者

お礼

回答ありがとうございます。 2の16乗まで九九レベルで暗記ですか、頑張ります。

  • nac03056
  • ベストアンサー率48% (203/419)
回答No.2

私の場合、同じことですが、 1024より大きければ1、そうでなければ0。 1024を引いた値が512より大きければ1、そうでなければ0。 512を引いた値が256より大きければ1、そうでなければ0。 256を引いた値が128より大きければ1、そうでなければ0。 128を引いた値が64より大きければ1、そうでなければ0。 64を引いた値が32より大きければ1、そうでなければ0。 32を引いた値が16より大きければ1、そうでなければ0。 以下続く と紙に0101を書き、ブツブツ呟きながら引き算しています。 すでに回答に出ている 1、2、4、8、16、32、64、128・・・を覚えておけばそこそこ使えます。ちなみに、2進→10進はこの逆で、2進数の右から 1+2+4+8+16+32+64+・・・と、1のある桁だけ足し算すればいけます。

lamm
質問者

お礼

回答ありがとうございます。 やはり1、2、4、8、16、32、64、128・・・を覚えて応用するのが早いのですね

関連するQ&A

  • IPアドレスを十進数から二進数に直す計算式

    こんにちは。初級シスアドの勉強を最近始めた者です。 2進数を10進数に変換する方法はわかったのですが、10進数から2進数に変換する計算の仕方がわかりません。 例えば 200.170.70.16→ 11001000 10101010 01000110 00010000 どうしてこのようになるのか教えてください。 数学がまるでダメなもので苦労してます。。。 よろしくお願いいたします!

  • 2進数について

    現在、シスアドの試験に向けて勉強中です。 レベルの低い質問でお恥ずかしいのですが… 2進数を10進数に変換する時に 2の0乗は、1になりますが、どうしてでしょうか? 根拠というか理由というか…教えていただけると嬉しいです。

  • 16進数を10進数に変換について

    16進数を10進数に変換について 今、情報処理の勉強をしていますが、 16進数を10進数への変換にてつまずいています。。。 以下、ご存じの方 お教えください。 16進数:ABCDを10進数に変換する方法が全くわかりません。 参考書をみても 理解ができない方法でした。 参考書の記載は以下でした。 ---------------------------------------------------    重| 16^3   16^2  16^1  16^0    み| 2^12    2^8   2^4   2^0      | 4096   256    16     1  --------------------------------------------------- 16進数|  A      B     C      D   10*4096+11*256+12*16+13  =40690+2560+256+160+32+13  =43520+416  =43981 なぜ、16進数のAが2^12なのでしょうか? 分かりにくくすみません。。。 ご教授頂きたくよろしくお願いいたします。

  • 2進数から16進数への変換、あるいはその逆について

    はじめまして。 高校の情報の授業で「2進数・10進数・16進数」を勉強しています。 どうしても2進数から16進数への変換、あるいは、16進数から2進数への変換の方法がわかりません・・・ 初心者でも分かりやすい解説をお願いします。

  • 8進数から2進数に変換の

    8進数223を2進数に変換したいのですが、 まず223を10進数に変換(2×8^2+2×8+3×1=147)→それから2進数に変換→答えは10010011 という方法しかないのでしょうか? 10進数に変換せず、直接2進数にする方法はあるのでしょうか?

  • 基本情報技術者試験!

    基数変換からつまずいている者です。もっと下地を作ってから、初級シスアドから始めたほうがよいのでしょうか...

  • シスアド初級

    現在高校1年の者です。 来年の春に、シスアド初級をとろうかと思います。 しかし、今までシスアドの勉強は一切しておらず、 どのように勉強すればいいのか困ってます。学校は普通科のためパソコンの授業は、 ワード、エクセルくらいを少々の程度です。自作の経験はあります。 ◆来年の春のシスアド初級の試験までどのような勉強をすればいいでしょう? ◆独学で来年の春までにシスアド初級を取れるくらいになりますか? よろしくお願いします<(_ _)>

  • 16進数変換

    エクセルで10進数のデータを一括で16進数変換する方法があったら教えてください。1セルずつなら関数で変換できるのですが一括変換する方法がわからないのです。わかる方がいらっしゃったらよろしくお願いいたします。

  • 10進数から2進数への変換

    こんにちは。 10進数から2進数への変換をせよという問いの場合、2で割っていくというのが基本的な考えですよね。割り算を使わずに10進数から2進数に変換する方法というのはあるのでしょうか?ご存知の方いましたらご教授ください。

  • 16進数を10進数に変換する方法...

    お初にお目にかかります(^^) 簡潔に質問しますm(_ _)m バージョン:MS-Visual Basic6.0 質問内容: 16進数を10進数に変換する方法がわかりません。 Hex(Text1.Text) や Oct(Text1.Text) のような方法で 16進数・8進数に変換できるんですが… 10進数に変換する方法がわかりません。 P.S できれば、16進数→10進数、16進数や10進数→2進数 …に、変換する方法も、よろしければ教えてくださいませ m(_ _)m

専門家に質問してみよう