こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

2進数換算

例えば、192.168.xxx.xxxの様な10進数表記のアドレスや、ランダムに書いた10進数の数列を、見た途端に、2進数換算に書き直せる人を見かけた事がありますが、
見て直ぐに、数字を0と1に変換する仕方が、分からなくて出来ないのです。あれはただ単に、
2で割り切れるから0、2で割ると1余るから1、…ではないのですよね…?
以前、派遣で働いていたPC関連企業の、当方の担当者だった社員の人も、数字を見てすぐさま2進数換算の計算していました。
やり方を、真剣に知りたいと思っています。

投稿日時 - 2009-09-29 23:20:37

QNo.5329615

暇なときに回答ください

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

2進数換算の近道は、まず2の累乗数を覚えること。
2,4,8,16,32,64…1024,2048,…65536,131072,262144…
例えば、70000だったら、
70000=65536+4096+256+64+32+16
と分解できる。これは、大きな累乗数を引いていけばわかるわけ。
これは、2^16+2^12+2^8+2^6+2^5+2^4で、2進法では2^16を表わすには17桁目を1にすればいいわけだから、
10001000101110000となる。

投稿日時 - 2009-09-29 23:51:51

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

慣れた人なら0~255位は、頭の中に換算表ができていて
考えるとか計算をするのではなく瞬時の結果を出せます。
私の場合は(今は昔でもう瞬時には出てきませんが)バイナリで
プログラム作成をしていたので16進表記での覚え方でした。
ちなみに16進表記から2進表記への換算は今でも考えることなく
できますが、長過ぎて煩わしいので16進表記しか使いません。

256以上は512、1024,2048、4096、・・・と
飛び飛びで65536(16進標記で1、FFFF)位までは記憶して
いました。(あくまでも過去形です。)
中間の補完方法は他の方々がお答えしているのと同じです。

今でしたら関数電卓で簡単に変換出来ますので利用頻度が少なければ
そのほうが確実です。
当然WIN標準で添付されている関数電卓にも2,8,10,16進
換算機能はありますのでお試しになられては如何でしょうか?

投稿日時 - 2009-09-30 00:24:40

ANo.2

2進数換算の近道は、まず2の累乗数を覚えること。
2,4,8,16,32,64…1024,2048,…65536,131072,262144…
例えば、70000だったら、
70000=65536+4096+256+64+32+16
と分解できる。これは、大きな累乗数を引いていけばわかるわけ。
これは、2^16+2^12+2^8+2^6+2^5+2^4で、2進法では2^16を表わすには171桁目を1にすればいいわけだから、
10001000101110000となる。

投稿日時 - 2009-09-29 23:50:20

ANo.1

>見て直ぐに
ってせいぜい2-3秒のことですか?
それならば10進数→2進数の変換サイトを使ったんじゃないですか?

そうでなければ、
192=128+64 だから 11000000
168=128+32+8 だから 10101000
と瞬時に判断できたか。。。。

これぐらいしか思いつきません。

投稿日時 - 2009-09-29 23:34:53

お礼

はい、覚えている限り、その数字を見ながら2進数の数に置き換えていた気がしますので、数秒…かと。

変換サイトではないです。当方の目の前で、当方が適当に書いた数字を2進数値に書き換えていた訳です。

投稿日時 - 2009-09-30 20:59:19

あなたにオススメの質問