第10回 課題解答

課題1

※ 準備 : 学籍番号を入れて「入力」をクリック (タップ) してください。


\(A=(\)\()_2\) のとき、\(-A\) を8桁の2進数で書いてください。また、\(A\) を10進数に変換してください。
解答
\(A\) の2進数表記の 0, 1 を反転させると \((\)\()_2\)、それに 1 を加えて以下が得られる。
\(-A=(\)\()_2\)
最上位ビットが 0 なので \(-A\) が正で \(A\) は負であることがわかる。
10進数にすると
\(-A=(\)\()_{10}\)
なので
\(A=(\)\()_{10}\)

課題2

\(A=(\)\()_{10}\), \(B=(\)\()_{10}\) として、 概要の方法で \(A-B\) の計算を行い、普通に10進数の引き算を行った場合と結果を比較して正しいかどうかを確認してください。

解答
\(A, B\) を4桁の2進数で表すと
\(A=(\)\()_2\)
\(B=(\)\()_2\)
で、
\(-B=(\)\()_2\)
となる。\(A\) と \(-B\) を筆算で足すと以下のようになる。
+
これは\((\)\()_2 = (\)\()_{10}\) となる。
一方、普通に10進数のまま計算すると \(A-B=(\)\()_{10}-(\)\()_{10}=(\)\()_{10}\) であり、両者が一致することが確認できる。

課題3

概要のリンク先の回路を開き、課題2の \(A, B\) に応じて A3~A0, B3~B0 を切り替え、出力 S3~S0 が課題2の計算結果とあっているかどうかを確認し、そのスクリーンショットを撮ってください。

解答

で、確かに \(S_3S_2S_1S_0\) の並びの2進数 \((\)\()_2\) は課題2の計算結果と一致する。