レポート課題:課題(2-5)

0/1による8桁の2つの2進数入力に対して,それらの和を2進表現で求め,その2進表現を出力せよ.このとき,2ビットの論理和, 論理積, 排他的論理和を求める関数,および,これらを用いて2進数1桁の加算を行う全加算器の機能を関数で実現すること.なお,確認を容易にするため,入力と出力の各2進数に対する10進表現も出力すること.

考察課題

(考察課題1,2については,「うまく」動作するようにプログラムを工夫せよという意味ではありません.)

  1. 和が255を越えるような2つの2進数を入力した場合について, そのときの出力を示し,なぜそのような出力となるのかを考察せよ.
  2. 想定外の入力として,2進数を入力すべきときに0と1以外の‘数字’を入力した場合について, そのときの出力を示し,なぜそのような出力となるのかを考察せよ. また, 2進数を入力すべきときに‘英字’を入力したときの動作を調べ,考察すること.
  3. 関数bin_to_intをどのように工夫したか,説明すること(アルゴリズム,プログラムの説明などを含む).

オプション課題

以下の課題を行い(一つのみでもよい),レポートに追加してください. このとき,プログラム作成上の指針に沿う必要はありません.

  1. 2の補数を用いて負の数も扱えるように拡張せよ.
  2. 2つの2進数の差を求めるプログラムを作成せよ.
  3. 任意の(変数や定数で指定した)桁数の2進数を扱えるようにせよ.