IPアドレス・ネットマスクの変換・チェック・統合・除外、国判定を簡単に。

こんな機能欲しいけど、自分で作るの面倒くさい!みたいな思いつきを
是非Twitterで意見投げてみてください。
時間は掛かるかもしれませんがコツコツ頑張るかも!?
Twitterリンクは下部)

IPアドレスから地理的位置情報(GeoIPLocation)の検索機能を公開しました。

Google or AdMax Promotion (ipvtop)

8桁のビットパターンを紙とペンで10進数に変換する方法

IPアドレスやサブネットマスクなどの値を2進数に戻して、
計算した後に再び10進数に戻すような場合には、
紙とペンがあれば簡単に2進数を10進数に戻すことができます。
ここではその手順についてご紹介します。

IPアドレスの問題やネットワーク関連の問題では、
10進数・2進数変換を良く利用します。
とても頻繁に利用するのですが、試験などでは電卓やツールが使えず、
暗算で求める必要があったりと慣れるまでは難しいものです。

8桁のビットパターンを紙とペンで10進数に変換する方法

プロモーション

Google or AdMax Promotion (ipvpos)

変換の手順をご紹介する前に、
簡単な例で10進数をまず2進数に変換してみます。

10進数を2進数にする際も紙とペンで簡単に求められます。

 

2の乗数とビットパターンの関係

まず、2の2乗である4はビットパターンにするとどうなるでしょうか。

0(10進数) ⇒ 0(2進数)
1(10進数) ⇒ 1(2進数)
2(10進数) ⇒ 10(2進数)
3(10進数) ⇒ 11(2進数)
4(10進数) ⇒ 100(2進数)

では、2の3乗の8は?

4(10進数) ⇒ 100(2進数)
5(10進数) ⇒ 101(2進数)
6(10進数) ⇒ 110(2進数)
7(10進数) ⇒ 111(2進数)
8(10進数) ⇒ 1000(2進数)

気付きましたか?

2の乗数だと、乗数(2乗・3乗)の数に一致する数の「0」と、
繰り上がった桁に「1」があります。

では、2の8乗(256)は?
計算する必要もありませんね。

100000000」です(1が1つ0が8つ

この法則については以下でご紹介しました。

 

サブネットマスクなどでよく見る「255」という数字。
これはまさに、この「256-1=255」です。

256で1繰り上がって9桁になっているこのビットから、
繰り上がる前のー1をした値を考えると、
「11111111」が255なのはすぐに想像がつきますね。

サブネットマスク「255.255.255.0」なんかは、
「11111111.11111111.11111111.00000000」だと分かります。

 

2の乗数のビットパターンから10進数に戻す

さて、では今までは2の乗数とビットパターンの関係を見てきました。

ですので、

もう「100000」と見れば、
0が5つあるな・・・2の5乗と言うことだな。
なら「32」だとすぐに求めることができます。

2の5乗が32だって電卓もなく計算できない?
そこは呪文を唱えて指折り求めるんです。

 

任意のビットパターンから10進数に戻す

では、ここからが本題です。

「10101010」というビットパターンを
10進数に戻したい場合には、どうしますか?
※ここではIPアドレスに関しての処理なので8bit(8桁)を前提とします。

求める手順を順を追ってご紹介します。

STEP1

まず、左から1~8の数字を書きます。
次にその上にでも、右から2の乗数を順に書きます。

この値を利用して計算していきます。

bittonum_st01

01_ベースの値を準備・ステップ1

 

STEP2

①次に求めたいビットパターンを番号の下に書きます。

bittonum_st02

02_求めるビットパターンを記載・計算ステップ2

 

STEP3

①1を書いた部分の下に一つ右の乗数値を書きます。

bittonum_st03

03_ビットの下に値を記載・計算ステップ3

 

STEP4

①書いた乗数の値をすべて足します。

②合計して求めた値が、10進数に戻した値です。

bittonum_st04

04_書いた値を加算・ステップ4

 

STEP5

練習では検算をWindows電卓などを利用して行うといいでしょう。

bittonum_st05

05_求めた値の検算・ステップ5

 

Windows電卓でビットパターンを確認する方法は以下でご紹介しています。

 

本当かいな?という方へ

まぁ、私も何となくこの方法を見つけた時は、
本当かいなと思ったのですが、ちゃんと求められるんですね。

以下は疑い深い方向けに・・・

「00000000」の場合

当然、1が一つもないので何も加算するものがありません。

bittonum_st06

06_「00000000」の場合

 

「00000001」の場合

1の場合は?

一つ右に乗数した値がありません。何を加算しましょうか?

最終ビットに1が立っている場合には、そのまま下に「1」を書きます。
結果「1」となります。

 

これは1に関わらず、その他の値でも同じです。

最終ビットはそのまま下に1を書く。

bittonum_st07

07_「00000001」の場合

 

「11111111」の場合

これが一番計算数の多いパターンです。

まぁ、先ほどの「10000000(256)- 1  = 255」とインド式のような、
計算方法を利用したほうが楽ですし、
「11111111」は計算するまでもなく「255」と覚えてしまうでしょうけど。

このルールで計算しても正しく求まります。

bittonum_st08

08_「11111111」の場合

 

「10000001」の場合

最終ビットに「1」が立ったこのパターンはどうでしょう。

正しく求められます。

bittonum_st09

09_「10000001」の場合

 

「11000000」の場合

よく目にする(10進数として)このビットパターンはどうでしょう。

正しく求められます。
プライベートアドレスでよく見かける「192.168.0.0」の192です。

bittonum_st10

10_「11000000」の場合

 

「11001100」の場合

では「11001100」の場合はどうでしょうか。

ちょっと足し算してみて下さい。

bittonum_st11

11_「11001100」の場合

 

 

答えは以下です。

bittonum_st12

12_「11001100」の解

 

ちょっとすぐに求められたら便利だと思いませんか?

 

さいごに

どうです?
面倒なのは「255」位で、すべて足し算で求められます。

手で指折り求められる人はいいとして、
紙上で計算して求められるので、後から見直すこともできます。

ちょっとビットパターンが簡単に感じることができませんか?

 

プログラムを書いたりしていて、
検算をしたりなどを繰り返しているうちに、

偶然この方法を見つけたのですが、
これも既に有名な方法なんですかね?

 


AdMax Promotion

公開日:
最終更新日:2019/06/20

シェア頂けると新機能開発の励みになります!!

最後までお読みいただきありがとうございました。
便利!と思って頂けたらシェアを是非お願いします。
ご意見・ご批判でも感じた事を気にせずご指摘ください。

アカウント新規作成の為、是非フォローもお願いします。(無言OK)

※このページでこんな情報も一緒に見れたら便利!などの
アイディア・ご意見もお聞かせください。

また弊サイトはすべて広告費と個人の自腹にて運営・開発を行っています。
皆様、お仕事中でお忙しいことと存じますが、
ご興味がおありの広告が目に留まりましたら
広告主様のサイトもご覧いただけますと励みになります。

QRコードからもこのURLを開けます。
リンク先URL: https://ipvx.info/ip_cal/bittonum/


AdMax Promotion

サイト内コンテンツ
すべて展開 | すべて省略

Google or AdMax Promotion (ipvlink)

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です