入力した10進数を2進数で表示するプログラムを紹介します。10進数の値を2で割っていき、余りが0の場合は"0"、余りが1の場合は"1"を文字列の先頭に足していくことで2進数を表現しています。以下が、そのJavaソースコードです。10101143を入力すると101011と表示されました。ここからは、このソースコードを上から順番に解説していきます。java.io.*;Javaのクラスライブラリの中から「java.io」というパッケージにあるクラスを、このプログラム内で使うために記述します。この記述により、BufferedReaderクラスが利用できるようになります。{クラス名を、Binaryとしています。{このmainメソッドからプログラムを実行します。キーボードから入力する文字列このプログラムで使う変数を宣言しています。}キーボードから10進数の値が入力されるのを待ち、不正な値が入力されたときにエラーメッセージを表示した後、returnによってmainメソッドを抜けています。表示用の2進数を格納する変数binを定義し、空文字を代入しています。);実際に10進数から2進数の文字列を作っている箇所です。10進数の値が格納されている変数numが2で割り切れるかを判定し、割り切れれば”1”を、割り切れなければ”0”を変数binの先頭に足します。numを2で割った値で、この処理を繰り返し行います。numが0になると終了です。ここで具体的な数字を使って確認してみます。このプログラムでnum=5の場合を例に説明します。1num=5num=5は、2で割り切れないので"1"を文字列binの先頭に足します。値を足す前のbinの値は空文字なのでbin=”1”となります。次にnumを2で割ります。結果はnum=2になります。数学的にはnum=2.5ですが、intは整数型なので小数部は切り捨てられてしまいます。2へ2num=2num=2は、2で割り切れるので"0"を文字列binの先頭に足します。値を足す前のbinの値は”1”なのでbin=”01”となります。次にnumを2で割ります。結果はnum=1になります。3へ3num=1num=1は、2で割り切れないので"1"を文字列binの先頭に足します。値を足す前のbinの値は”01”なのでbin=”101”となります。次にnumを2で割ります。結果はnum=0になります。4へ4num=0num=0となり処理を終了します。結果は=”101”となります。ここで普段使っている10進数でこの方法について考えてみます。10進数で703を、上記の方法で文字列にする例をで説明します。2進数の場合は、2で割っていきましたが、10進数の場合は10で割っていきます。1num=703num=703を10で割った余りを求めます。その余りを文字列binの先頭に足します。値を足す前のbinの値は空文字なのでbin=”3”となります。次にnumを10で割ります。結果はnum=70になります。intは整数型なので小数部は切り捨てられてしまいます。2へ2num=70num=70を10で割った余りを求めます。その余りを文字列binの先頭に足します。値を足す前のbinの値は”3”なのでbin=”03”となります。次にnumを10で割ります。結果はnum=7になります。3へ3num=7num=7を10で割った余りを求めます。その余りを文字列binの先頭に足します。値を足す前のbinの値は”03”なのでbin=”703”となります。次にnumを10で割ります。結果はnum=0になります。4へ4num=0num=0となり処理を終了します。結果は=”703”となります。このように10進数での処理の場合、10で割った余りを足していきます。2進数での処理の場合も同様に、2で割った余りの数を足しても同じ結果が得られます。ここでは、余りの数を文字列に変換する処理を省略するために、2で割り切れれば”0”、そうでなければ”1”を足す方法を紹介しています。);2進数に変換した結果を表示します。