補数 bの補数 bn-x n:桁数、b:基数 253(10進数)の10の補数は、1000-253=747 110(2進数)の2の補数は、2進数の1000-110=10 n b -1-x b-1の補数 253(10進数)の9の補数は、1000-253-1=746 110(2進数)の1の補数は、1000-110-1=001 問題 a) b) c) d) 以下を求めよ。 4651の10の補数 4651の9の補数 110101(2進数)の2の補数 110101(2進数)の1の補数 1 補数 その2 問題よりわかるように、 ビット反転とは、 1と0の入れ替え 1の補数: ビット反転になっている。 2の補数: 1の補数に1を加える。 2n-1-x 2n-1は1がn個並んでいる。 n=4の時、24-1=1111 これからxを引くと、 反転したことになる。 2 引き算をコンピュータで実行 するには。 方法1 方法2 符号ビットを用意する。 補数(ほすう)を使う。 bの補数 n:桁数、b:基数 bn-x 2の補数 ビットを反転して、1加える。 110(2進数)の2の補数は、10 もしビット数が3つだとすると、 1000-110 = 010 2の補数をとることが、マイナスに相当する。 a-bの代わりに、bの補数をaに加える。 符号ビットがなくても表現できる。 問題 11100-111(2進数)を、 a) 直接、筆算をして求めよ。 b) 111の「2の補数」を求めて11100に加えよ。 3 解答 a) b) 問題 11100-111(2進数)を、 a) 直接、筆算をして求めよ。 b) 111の「2の補数」を求めて11100に加えよ。 11100 - 111 ----00101 00111のビット反転は11000 これに1を加えると11001 これが00111の2の補数。 11100に加える。 5ビットだとすると、00101 11100 +11001 ----100101 4 ビット binary digitの略。2進数の桁数。 binary=2進数の digit=桁 1ビット(2進数1桁)で表せる数は、0と1の2個 問1 次のビットで表せる数を全て書け。何個あるか。 a) 2ビット b) 3ビット c) 4ビット 問2 8ビットで何個の数を表せるか。 理由も説明せよ。 5 バイト 8ビットをまとめて1バイト(byte)と呼ぶ。 現在のコンピュータの多くは32ビット または64ビットである。 (2進数32桁または64桁で数を表す。) 6 論理演算 7 論理回路 基本回路 A B OR 論理和 f A B f A B f A B f AND 論理積 f A B f A B A f NOT 否定 f A 問題1 上記3つの回路において、A, Bが 1(真)、0(偽)の値をとる時のfの値を表にせよ。 (真理値表と言う。) 問題2 次の論理式に対応する論理回路を、 3つの基本回路を使って書け。真理値表も書け。 a) b) c) f A B f A B A 0 0 1 1 B 0 1 0 1 f A B A B f 8 補足:論理和と論理積 f A B A B f A B A f A B A ここも含むことに注意。 日常会話では、 「りんごまたはみかん」は片方だけ。 「Coffee or tea?」と聞かれたら片方を選ぶことを 期待されている。 論理学では、「または」は両方の場合を含む。 9 問題1の解答 AND OR A 0 0 1 1 B 0 1 0 1 f 0 1 1 1 A 0 0 1 1 B 0 1 0 1 NOT f 0 0 0 1 A f 0 1 1 0 10 問題2の解答 NAND NOR A 0 0 1 1 B 0 1 0 1 f 1 0 0 0 A 0 0 1 1 B 0 1 0 1 f 1 1 1 0 XOR A 0 0 1 1 B 0 1 0 1 A B 1 1 0 0 1 0 1 0 A •B A•B 0 1 0 0 0 0 1 0 A•B+ A•B 0 1 1 0 11 論理回路 NOR, NAND, XORは次のような回路記号を 使うことが多い。 A B f NOR A A B f NAND f B XOR exclusive OR AとBが違う時のみ 真になる。 12 半加算回路 A, Bはそれぞれ0または1をとるとする。 A+Bの加算結果S(1ビット)と桁上がりCを得る 回路を作りたい。 問題1、A, Bの値に対して、S, Cの値を表にせよ。 問題2 問題1の結果を使って、論理回路で書け。 桁上がりとは。 10進数の場合、 10進数の加算の例 5 + 9 ---14 1が桁上がり 4が加算結果(1桁) 13
© Copyright 2024 ExpyDoc