• 締切済み

10進数から8けたの2進数に変換

10進数から2進数への変換はわかるのですが 10進数から8桁の2進数への変換がわかりません。 仮に10進数の38を8桁の2進数に直す場合、どんな過程を経て、8桁の2進数になるのでしょうか。 どなたか教えていただけますと有難いです。 宜しくおねがいします。

みんなの回答

  • pc_net_sp
  • ベストアンサー率46% (468/1003)
回答No.3

Windowsに付いてる電卓を、関数電卓にして 10進数から2進数への変換 8桁に統一したい場合は、 38=#100110=#00100110=%26(16進数) これで良いと思いますよ。 PIC・AVRマイコンでは、こうやって使います。       

回答No.2

頭に、8桁になるまで 0 を書けばOKなのでは?

回答No.1

関連するQ&A

  • VBAで4桁の16進数から16桁の2進数変換

    VBAで4桁の16進数(FFFFとか)を2進数(1111 1111 1111 1111とか)に変換して変換した2進数を1桁づつセルに表示させるには、どうしたらいいでしょうか?ワークシート上だと8桁までしか対応してないようで、左右8桁づつわけてHEX2BINを使ってとりあえず変換する事は、できましたがVBAでマクロを組んで行いたいです。例えばA1に16進数を入れA2~P2に2進数を1桁づつ表示させたいです。よろしくお願いします。

  • 8桁の2進数を10進数に変換する方法を教えてください。

    キーボードから2進数を入力した値を10進数に変換し、変換結果を出力する方法が解りません。作成するにあたり仕様があり、私一人では解決できないので相談させていただきました。 <仕様は以下の通りです> (1)このプログラム(8桁の2進数を10進数に変換)をする際は、最後に出力する時(printf)以外は関数を使ってはいけません。 (2)キーボードから2進数を入力させる。 (3)空白(ブランク)が入力されても変換可能にする。 (4)入力された2進数は8桁にし、8桁以上の場合はエラーを出す。 (5)2進数の「0」と「1」以外の文字が入力された場合はエラーを出す。 (6)バイナリ変換をし、変換結果を出力する。 以上になります。 まだ、C言語を勉強を習い始めの初心者です。どうか、ご回答のほど宜しくお願いします。

  • 2進数1101.011に2進数の桁の重みをかけると

    2進数1101.011に2進数の桁の重みをかけるとなぜ10進数になるんでしょうか? それはそういう結果になるからだ、というのはわかっているんですが、私が知りたいのは 2進数1101.011 に10進数の桁の重みをかけたら、10進数に変換される 2進数1101.011 に8進数の桁の重みをかけたら、8進数に変換される 2進数1101.011 に16進数の桁の重みをかけたら、16進数に変換される というのなら納得できるんですが 2進数1101.011 に2進数の桁の重みをかけたら 10進数 というのが納得できません。なぜ、8進数、16進数、3,4,5,6,7,ではなく10進数になるんでしょうか?2進数の桁の重みなのに。

  • 何桁の数か分かりません

    36^2000が何桁の数なのか分かりません。 できましたら計算の過程も含めて教えていただけると幸いです。

  • 2進数を36進数に変換する

    2進数を36進数に変換する際、2進数の何桁ごとに区切ればよいのでしょうか? 16進の場合は、4ケタごとに区切ってやるような感じです。

  • Excelで16桁の16進数を10進数に変換

    Excelを使って、16桁の16進数を10進数に変換したいと考えております。 HEX2DECでは、桁数が多すぎてエラーとなってしまいました。 関数の組み合わせでも、VBAで組むのでもどちらでも構いません。 こうすればできる、というようなアイデアだけでも、いただけるとうれしいです。 宜しくお願いいたします。

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

    C言語で、2進数から10進数に変換するプログラムを作ろうと思っています。 手計算で行う場合は2進数の 下1桁目×1 下2桁目×2 下3桁目×4。。。と計算しています。 下○桁目を取り出す方法を考えているのですが、思いつきません。 3桁の2進数を変換するプログラム(とりあえず101を変換することを考えて・・・)を書いてみたのですが、101を考えすぎたためか上手くいきませんでした。 最終的には10進数でintの範囲内程度の2進数の変換ができるプログラムを書きたいと思っています。 アドバイスをお願いします。 ちなみに、考えてみたプログラムは以下の通りです。 101以外で上手く変換できませんね・・・ ここに貼り付けるのが恥ずかしいです。 #include <stdio.h> main() { int x ,i ,z[3]; scanf("%d",&x); z[0]=x/100*4; z[1]=(x/10-10)*2; z[2]=(x-110)*1; printf("%d",z[0]+z[1]+z[2]); return 0; }

  • 8進数から16進数への変換

    8進数から16進数、また、16進数から8進数に 計算過程でほかの進数に変換することなく直接変換できますか?

  • 正負の値をとる8桁の2進数

    正負の値をとる8桁の2進数01010010を10進数に変換する場合、2+16+64=82であっていますか? 11100011の場合は反転して00011100にして1を足して00011101にして1+4+8+16=29であっていますか?

  • 2進数&10進数&16進数の変換

     ◆ コンピュータで使用される2進数  人が日常使用している数値は10進数ですが、コンピュータは内部で数値を表現する場合、2進数を使用  しています。しかし、「0」と「1」だけの2進数では人が分かりにくいため、人間が見えるところでは  コンピュータは2進数を10進数や16進数が変換して表現しています。ここではその変換方法を学びます。  ◆ 2進数  2進数とは、「0」と「1」の2種類の数字を用いて全ての数を表現します。10進数では0から数えて「9」の  次は位があがることになりますが、2進数では「 1 」の次に位があります。位があがれば、その新しい桁は   「 1 」 となり、それ以下の桁は全て 「 0 」 となります。それでは、2進数の数の増え方を見てみましょう。      ところで、2進数を表現する時は一般的に8桁単位で表現するため、8桁未満の場合は頭に0をつけます。  つまり、上の2進数の値は順番に 00000000 → 00000001 → 00000010 → 00000011 → 00000100 →  00000101 → 00000110 → 00000111 → 00001000 と表します。以下は2進数と10進数の対応表です。 2進数と10進数の対応表 10進数 0 1 2 3 4 5 6 7 8 9 10 ・・・ 2進数 0 1 10 11 100 101 110 111 1000 1001 1010 ・・・  ◆ 2進数から10進数への変換方法  10進数と2進数の対応表は以下の通りです。2進数の桁が上がる時の10進数の値が以下となります。 2進数と10進数の対応表2 10進数 1 2 4 8 16 32 64 128 2進数 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000  従って、2進数で「1」となっている桁に対応する上記の10進数の基準値を合計することにより、2進数から  10進数の値を求めることができます。例えば、2進数の「 00101010 」を10進数に変換する場合、基準値が  32、8、2の所でビットが1なので下図の通り、2進数の「 00101010 」は10進数では「42」だと分かります。            ◆ 10進数から2進数への変換方法  10進数の数値を「 0 」になるまで「 2 」で割り算していき、その結果の「余りの数 」を並べることで  ある10進数の値を2進数の値へ変換することができます。それでは、具体的に変換して見て行きましょう。           例えば、10進数の「160」を2で割り算していくと上図の結果となります。後は、余りの数を下から順番に  並べれば 「 10100000 」 の値が算出されます。次に、「22」を2で割り算していき余りの数を下から順に  並べれば 「 10110 」 の値が算出されます。ネットワークにおいては、2進数を一般的に8桁で表示する  ことから、8桁になるよう上位に「 0 」を追加して「 00010110 」とします。当然「 10110 」と同じ値。 因みにここ参照ですがhttp://www.infraexpert.com/study/ip1.html なぜこれが10進数なんでょうか? 10進数というのは、0から9までの数字が1増えて10になるんですよね? なのに2進数と10進数の対応表2を見ると 倍数になっているのですが、、 これはいったいどういう違いなんでしょうか? 回答お願いいたします。 ほかにも解らなそうな点は、教えて頂けると幸いです。