• 締切済み

2進数を10進数にするには

2進数から10進数にする計算方法をわかり易く教えてください。 2進数11110000は10進数で240  どうかよろしくお願いします。

noname#68601
noname#68601

みんなの回答

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.6

> わかり易く教えてください。 何を以って分かりやすいとするかが問題ですが... 一番簡単な方法は、 unsigned long value = strtoul("11110000", NULL, 2); printf("%lu\n", value); とすることです。 # 計算方法ではない気もします。

noname#68601
質問者

お礼

一番簡単な方法を理解できるようがんばります。 どうも有難うございました。

noname#68601
質問者

補足

残念ながら一番簡単な方法が独学ではチンプンカンプンです。 独学の素人にも分かりやすくお願いします。

noname#77845
noname#77845
回答No.5

10進数の240が何を表しているかを考えます。 (「^」は累乗を表しています。) 240=2*10^2+4*10^2+0*10^0 です。 では、2進数の場合はどうでしょう? 11110000 =1*2^7+1*2^6+1*2^5+1*2^4+0*2^3+0*2^2+0*2^1+0*2^0 =128+64+32+16 =240 になるので、考え方は同じです。 要するに、位取りをどう表現しているかと言うことが判れば後は機械的に計算できるようになります。 因みに、2の累乗は覚えておいた方が計算が速くなります。 2^0=1(いち) 2^1=2(に) 2^2=4(よん) 2^3=8(ぱー) 2^4=16(いちろく) 2^5=32(さんにー) 2^6=64(ろくよん) 2^7=128(いちにっぱ) 2^8=256(にごろ) 2^9=512(ごいちに) 2^10=1024(いちまるにーよん) 2^11=2048(にーまるよんぱー) 2^12=4096(よんまるくんろく) 2^13=8192(はちいちくんにー) 2^14=16384(いちろくさんぱーすー) 2^15=32768(さんにーちーろんぱー) 2^16=65536(ろくごーごーさんろく) と呪文のように順番に覚えます。 これで、16ビットまで大丈夫!

noname#68601
質問者

お礼

2の累乗教えて頂いて有難うございました。 お世話になりました。

noname#68601
質問者

補足

2*10^2+4*10^2+0*10^0 1*2^7+1*2^6+1*2^5+1*2^4+0*2^3+0*2^2+0*2^1+0*2^0 *が何を意味してるのか分からなかったので、 全体が分からなかったのですが別の方に紹介していただいた、 サイトの説明で計算方法が分かるようになったので、 何とか読めるように思います。 2の累乗は確かに覚えてた方が楽ですね。 どうも有難うございました。

  • okweb-goo
  • ベストアンサー率29% (283/952)
回答No.4

このサイトがわかりやすいですね。 http://www.asahi-net.or.jp/~ax2s-kmtn/ref/bdh.html

参考URL:
http://www.asahi-net.or.jp/~ax2s-kmtn/ref/bdh.html
noname#68601
質問者

お礼

良いサイトを紹介して頂いて有難う御座いました。 お世話になりました。

noname#68601
質問者

補足

このサイトの説明が大変よく分かりました。 おかげで皆さんの説明も理解できるようになりました。 11110000の1の所の桁数の2の累乗を足し算して、 16+32+64+128=240になる訳ですね。 どうも有難う御座いました。

  • 86tarou
  • ベストアンサー率40% (5094/12701)
回答No.3

2進数の各桁が10進数で幾らになるかが分かれば、2進数で“1”の桁だけその数を足せば良いだけです。具体的には下桁から1(2の0乗)、2(2の1乗)、4(2の2乗)、8(2の3乗)、16(2の4乗)、32(2の5乗)、64(2の6乗)、128(2の7乗)…というふうに1から倍ずつになっていきます。 例えば質問にある2進数の“11110000”だと、10進数で16+32+64+128=240になります。

noname#68601
質問者

お礼

わざわざお世話になりました。 お礼の欄に書くべきなのを間違いました。 どうも有難う御座いました。

noname#68601
質問者

補足

>2進数の各桁が10進数で幾らになるかが分かれば、2進数で“1”の桁だけその数を足せば良いだけです。 この意味が分からなかったのですが今は分かるようになりました。 どうも有難う御座います。

  • S-Fuji
  • ベストアンサー率36% (592/1624)
回答No.2

例えば、4桁の10進数は、各桁の重みが下桁から、1・10・100・1000と成りますね。 1234なら、4の所は 4x1、3の所は 3x10、2の所は 2x100、1の所が 1x1000、となりますね。 それを全て足した答えが、1234です。 2進数の場合は、下桁から、1・2・4・8・・・・と言うように、倍々に成っていきます。 0110なら、0+2+4+0という風になります。 何桁有っても、倍に成るだけなので、1が有る桁の重みを全て足せば良いのです。

noname#68601
質問者

お礼

補足に書いた事はお礼の欄に書くのを間違いました。 どうも有難う御座いました。

noname#68601
質問者

補足

>1が有る桁の重みを全て足せば良いのです この意味が分かるようになりました。 何とか自信がついたような。 どうも有難うございました。

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.1

2進で考えると面倒です = 2^7 + 2^6 + 2^5 + 2^4 = 128 + 64 + 32 + 16 = 240 一番下の桁で 2^0 で、1か0、下から2桁目で 2^1で、2か0と、2^n で足し算します ですので・・・16進にして = 1111 0000 b = F0 h で、 = 16 d ( 10 h ) × 15 = 250 と考えたほうが・・・

noname#68601
質問者

お礼

お礼の欄と補足の欄を書き間違いました。 どうもお世話になり有難う御座いました。

noname#68601
質問者

補足

= 2^7 + 2^6 + 2^5 + 2^4 これがさっぱり分からなかったのですが、 今は理解できるようになってます。 思ったより簡単でした。 どうもありがとうごさいます。

関連するQ&A

  • 2進数・10進数・16進数

    過去ログみてもよく分からなかったので質問します。 題名の通り 2進数→10進数(逆に10進数→2進数)などといったような変換ができません。1学期に授業でやったのですが授業プリントなくしてしまい・・・ 例えば(教科書見ながら書いてます) (1)2進数「0010」がどうして10進数で「2」なんですか(計算方法教えてください?? ↑2進数「0010」を色々計算して「2」を出したような気がします。 (2)16進数から2進数への変換も計算方法を教えてください。 例:16進数「C」がなぜ2進数「1100」なんですか?

  • 16進数を10進数に・・・・

    16進数の3Eを10進数に変換すると、 62になりますが、その計算方法を教えてください!!!

  • TCP/IPの二進数と十進数

    TCP/IPのIPアドレスとサブネットマスクの計算の所で二進数と十進数が出てきますが、いまいち計算方法がわかりません。 二進数から十進数、十進数から二進数に変換する方法を教えてください。 またそれについて計算方法が記載されているHPでも構いませんので 教えてください。 よろしくお願いいたします。

  • 2進数を

    2進数を10進数に変換する、または16進数を10に変換、などの計算方法がどうもわかりません。 ものすごく簡単に覚える方法ってありますか

  • 2進数

    2進数の 10000000 (負の数) を10進数で表すとどうなりますか? 計算方法も教えてください。 よろしくお願いします。

  • 16進数

    情報数学で分からないので困っています。。 (25+23+21+2-5+2-6)を16進数表示にしたいのですが、やり方(計算方法)が分からないです・・・ ※小文字は二乗とお考えください  -も二乗です 2進数の計算はできるのですが16進数や8進数になると分からないです・・・ どうかご教授お願い致します。。

  • 2進数 8進数 16進数

    2進数の引き算 8進数の足し算、引き算 16進数の足し算、引き算。 この計算方法がいまいちよくわかりません。 2進数引き算 11111101-01111111 8進数足し算 345+674 16進数足し算 EBA-23F どうやって解いていけばいいのでしょうか? ぜひ回答お願いします。

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

    10進数を12進数に変換する方法を教えてください。 計算機などは使わず手計算で変換する方法です。

  • 2進数の計算

    127 + (-3) の計算ですが 普通に10進数で計算してから124を2進数に直しても良いのですが、 敢えて2進数での計算方法を教えていただけませんでしょうか。 127は1111111ですが -3は8ビットで表さなければならないのでしょうか? その場合、足したり引いたりしても良いのでしょうか?

  • 2進数の小数を10進数に変換する方法

    こんばんわ。 単純な質問なのですが、 (0.1)2を10進数に表すと(0.5)10になるみたいですが、 どのような計算そして導くのでしょうか? 2進数 → 10進数 10進数 → 2進数 どちらの方法も教えてください。 ちなみに『2-1』2の-1乗ってどういう計算なのでしょうか?