13
1 補補 b 補補補 b-1 補補補 n: 補補b: 補補 253(10 補補 10 補補補補1000-253=747 110(2 補補 2 補補補補 補補補 、2 1000-110=10 253(10 補補 9 補補補補1000-253-1=746 110(2 補補 1 補補補補1000-110-1=001 補補 補補補補補補a) 4651 補 10 補補補 b) 4651 補 9 補補補 c) 110101(2 補補 ) 補 2 補補補 d) 110101(2 補補 ) 補 1 補補補 b n -x b n -1-x

10 進数を 2 進数に直す

Embed Size (px)

DESCRIPTION

110(2) = 1 x 4 + 1 x 2 + 0 x 1 = 6. 10 進数を 2 進数に直す. 逆に 6 を与えられて、 2 進数に直す方法を考える。. 6 ÷ 2 = 3 余り  0 3 ÷ 2 = 1 余り  1 1 ÷ 2 = 0 余り  1. 110(2) になる。. 問題 (1) 次の 10 進数の数を 2 進数に変換せよ。 a) 9 b) 19 c) 304 (2) 次の 10 進数の数を 16 進数に変換せよ。 a) 31 b) 350 c) 4105. 次に演算です。. 足し算. かけ算. 2進数の計算. 0. - PowerPoint PPT Presentation

Citation preview

Page 1: 10 進数を 2 進数に直す

1

補数

b の補数

b-1の補数

n:桁数、 b:基数

253(10進数)の 10の補数は、 1000-253=747110(2進数)の 2 の補数は、2進数の 1000-110=10

253(10進数)の 9 の補数は、 1000-253-1=746110(2進数)の 1 の補数は、 1000-110-1=001

問題 以下を求めよ。a) 4651の 10の補数b) 4651の 9 の補数c) 110101(2進数 ) の 2 の補数d) 110101(2進数 ) の 1 の補数

bn-x

bn-1-x

Page 2: 10 進数を 2 進数に直す

2

補数 その2問題よりわかるように、

1の補数: ビット反転になっている。

2の補数: 1の補数に1を加える。

2n-1-x

2n-1は 1 がn個並んでいる。   n=4の時、 24-1=1111 これから x を引くと、  反転したことになる。

ビット反転とは、 1 と 0 の入れ替え

Page 3: 10 進数を 2 進数に直す

3

引き算をコンピュータで実行するには。方法1  符号ビットを用意する。方法2  補数(ほすう)を使う。

2の補数 ビットを反転して、1加える。  

b の補数

110(2進数)の 2 の補数は、 10

bn-x n:桁数、 b:基数

もしビット数が3つだとすると、   1000-110 = 010 2の補数をとることが、マイナスに相当する。a-bの代わりに、 b の補数を a に加える。

符号ビットがなくても表現できる。

問題  11100-111(2進数)を、 a) 直接、筆算をして求めよ。 b) 111の「2の補数」を求めて 11100に加えよ。

Page 4: 10 進数を 2 進数に直す

4

解答 問題  11100-111(2進数)を、 a) 直接、筆算をして求めよ。 b) 111の「2の補数」を求めて 11100に加えよ。

a) 11100- 111----- 00101

b)00111のビット反転は 11000これに 1 を加えると 11001これが 00111の2の補数。11100に加える。5 ビットだとすると、 00101

11100+11001-----100101

Page 5: 10 進数を 2 進数に直す

5

ビットbinary digit の略。2進数の桁数。 binary=2進数の digit=桁1ビット(2進数1桁)で表せる数は、 0 と 1 の2個

問1 次のビットで表せる数を全て書け。何個あるか。 a) 2ビット  b) 3ビット  c) 4ビット

問2 8ビットで何個の数を表せるか。   理由も説明せよ。

Page 6: 10 進数を 2 進数に直す

6

バイト

8 ビットをまとめて1バイト (byte)と呼ぶ。 

現在のコンピュータの多くは 32ビットまたは 64ビットである。( 2進数 32桁または 64桁で数を表す。)

Page 7: 10 進数を 2 進数に直す

7

論理演算

Page 8: 10 進数を 2 進数に直す

8

論理回路基本回路

ANDOR NOT

AB

AB

ff A f

論理積   

論理和   

否定   Af BAf BAf

問題1 上記3つの回路において、 A, Bが 1(真 ) 、 0(偽 ) の値をとる時の f の値を表にせよ。 (真理値表と言う。)問題2 次の論理式に対応する論理回路を、 3つの基本回路を使って書け。真理値表も書け。 a)

BAf BAf

BAf BAf b) c)

fA B0 00 11 01 1

BABAf

Page 9: 10 進数を 2 進数に直す

9

補足:論理和と論理積

A BBAf

A BBAf

ここも含むことに注意。

A

Af

日常会話では、「りんごまたはみかん」は片方だけ。「 Coffee or tea?」と聞かれたら片方を選ぶことを期待されている。

論理学では、「または」は両方の場合を含む。

Page 10: 10 進数を 2 進数に直す

10

問題1の解答

fA B0 00 11 01 1

fA B0 00 11 01 1

0111

0001

A f

01

10

OR AND NOT

Page 11: 10 進数を 2 進数に直す

11

問題2の解答

fA B0 00 11 01 1

fA B0 00 11 01 1

1000

1110

NOR NAND

A B0 00 11 01 1

1100

XOR

BA•A B BA• BABA •+•1010

0100

0010

0110

Page 12: 10 進数を 2 進数に直す

12

論理回路NOR, NAND, XORは次のような回路記号を使うことが多い。

NANDNOR XOR exclusive OR

A と B が違う時のみ真になる。

AB

AB

ff fA

B

Page 13: 10 進数を 2 進数に直す

13

半加算回路

A, Bはそれぞれ 0 または 1 をとるとする。A+Bの加算結果 S (1ビット)と桁上がり C を得る回路を作りたい。

問題1、 A, Bの値に対して、 S, Cの値を表にせよ。問題2 問題1の結果を使って、論理回路で書け。

桁上がりとは。

10進数の場合、

10進数の加算の例  5+ 9---- 14

1 が桁上がり 4 が加算結果( 1 桁)