1が1つだけ立ったビットパターンと2の乗数は計算すら不要です
試験などでよくみかけるネットワークIPアドレスを求めるような
問題はよく見かけます。
そんな時にたまに出てくるような8桁のビットパターンの中から、
どこか1つに「1」が立っているようなビットパターンは、
計算すらいらないくらい簡単に10進数に戻せます。
1が1つだけ立ったビットパターンは計算が要らない理由
どうして「1が1つだけ立ったビットパターン」が、
計算不要なのかというと、以下の2の乗数とビットパターンの
関係を見てみるとわかります。
2の乗数とビットパターンの関係
まず、2の2乗の値と2進数の関係を見てみましょう。
以下のようになります
2の乗数 | 10進数 | 2進数 | 2進数(8桁) |
---|---|---|---|
0 | 1 | 1 | 00000001 |
1 | 2 | 10 | 00000010 |
2 | 4 | 100 | 00000100 |
3 | 8 | 1000 | 00001000 |
4 | 16 | 10000 | 00010000 |
5 | 32 | 100000 | 00100000 |
6 | 64 | 100000 | 01000000 |
7 | 128 | 10000000 | 10000000 |
8 | 256 | 100000000 | 100000000 (*9桁) |
2の0乗が1だというのは理解しがたい部分ではありますが、
そういうことになっています(笑)
で、気付きましたか?
赤色にした部分の数字と「0」の個数の関係に。
2の〇乗の「〇」が、ビットパターンの「0」の個数に一致します。
極端な話ですが「10000000000000」(0が12個)の場合、
いくつになるでしょう?
2の12乗=?
呪文を唱えて、512まで計算したら後は2の掛け算を3回ほどして求めます。
「4096」ですね。
呪文については以下でご紹介しています。
Windows電卓で検算しても合っています。
このようにして、どこかに1が一つだけ立っているビットパターンは、
必ず2の乗数になります。
その法則を利用すれば、簡単に10進数の値を求めることができます。
でも、実際にはそんなパターンばかりじゃない。
「11100000」とか求める必要がある。
確かにそうです。
そんな時も紙とペンを使えば簡単に10進数に戻すことができます。
本サイトで公開しているツールについては、
十分にテストは行っておりますが個人で作成している為、
潜在的なバグがないとは言い切れません。
その為、ツールを用いた結果については十分検証の上ご利用ください。
当サイトおよび、管理人は如何なる損害もその責を負いません。
当サイト内のコンテンツおよび画像において、
出典・引用の外部著作権者の明記がないものは、
すべて管理人による著作物です。
当サイトでご紹介しておりますコンテンツの著作権の放棄は致しません。
サイト内コンテンツを引用される際にはご連絡は不要です。
ただし、出典元として当サイト(個別記事)へのリンクをお願いいたします。
申し訳ございませんが、無断転載、複製をお断りさせて頂いております。
コンテンツを有益であると感じていただけましたら非常に光栄です。
ありがとうございます。
公開日:
最終更新日:2019/06/20