初級シスアドでは、問題として10進数を2進数に変換したり、2進数を10進数に変換したりする問題は出題されていない。TCP/IPネットワークの問題において、IPアドレスとサブネットマスクを使って、ネットワーク・アドレスやホスト・アドレスを求めるために必要な知識である。解説しているので参考にして欲しい。2進数10進数を2進数に変換するには、変換したい10進数を商が0になるまで2で割りつづけ商と余りを求めればよい。10進数の60は、2進数では111100である。8ビットで表現するときは、足りないけた数分、上位のけたに0を補充する。10進数2進数から10進数に変換するには、2進数の各けたの重みをかけたものの合計を求める。使われる数値は覚えておくと便利である。前述した内容はプラスの10進数を2進数に変換する方法である。ここでは、マイナスの数値の10進数を2進数に変換する方法を解説する。2進数のマイナスの数値の表現方法はいくつかあるが、ここでは2の補数を使った表現方法を解説する。手順はつぎのとおりである。1.10進数を2進数に変換する変換したい10進数を符号を考慮せずに2進数に変換する2.表現するビット数で表現する10進数の60は、2進数では111100である。8ビットで表現するときは、足りないけた数分、上位のけたに0を補充する。3.2の補数を求める2進数の2の補数を求める。この2の補数表現された2進数が10進数−60の2進数表現である。2の補数は各ビットの1と0を反転したものに+1したものだ。各ビットの1と0を反転させたものを1の補数という。2の補数は、1の補数+1である。求まった1の補数に+1する。(2の補数)最上位のけた上がりが発生したときは無視する。10進数マイナスの2進数とプラスの2進数では当然変換方法が違う。マイナスの10進数を2進数に変換した結果を見ると分かるように10進数のようにマイナスの符号(−)があるわけでもない。やってプラスの2進数とマイナスの2進数を見分ければよいのだろうか。これは、最上位のビット(一番左端のビット)に注目すればよい。最上位のビットが1ならばマイナスの2進数であり、0であればプラスの2進数である。最上位のビッドが0のプラスの2進数は、前述した10進数から2進数の変換方法で10進数に変換すればよい。最上位のビットが1のときは、その2進数の2の補数を求め、その値を10進数に変換したものがその数値の値だ。その10進数にマイナスの符号(−)を付けることを忘れてはいけない。最上位のビットに注目する。最上位のビットが1であるから、この2進数は負の数であることが分かる。負の数の2進数はそのまま10進数に変換してはいけない。2の補数を求めて、その2進数を10進数に変換しなければいけない。1.2の補数を求める求まった1の補数に+1する。(2の補数)最上位のけた上がりが発生したときは無視する。×22=25+24+23+22=32+16+8+4=60である。マイナスの符号を付けて、−60である。2進数11000100は10進数では、−60である。まとめマイナスを考慮しなくてはいけないときの2進数から10進数の変換は複雑に感じるかもしれない。要は、最上位のビットに注目し、0ならばその2進数を10進数に変換すればよい。1ならば、その2進数の2の補数を求めその値を10進数に変換する。まとめるとつぎのようになる。