- 10進数: 日常使用している数、0,1,2,3,4,5,6,7,8,9の10個の数字を用い、各桁の重みは(1の位、10の位、100の位...)となる。
10000の位 1000の位 100の位 10の位 1の位 3 4 2 8 5
- 2進数: ’0’、’1’の2個の数字を用い、各桁の重みは(1の位、2の位、4の位...)となる。
16の位 8の位 4の位 2の位 1の位 1 0 1 0 1
2進数を10進数に変換するのは、
1×16+0×8+1×4+0×2+1×1=21
- 2進数の各桁のことをBIT(ビット)と呼ぶ
1ビットの数といえば...’0’もしくは’1’
2ビットの数といえば...”00”、”01”、”10”もしくは”11”
- 特に8ビットのことをBYTE(バイト)と呼ぶ
”01001100”は8ビットすなわち、1バイトの数
- WORD(ワード)というのも使うが、マシンによって16ビット、32ビット、64ビット等をさす(決まったサイズではなく、そのマシンの標準の言葉のサイズ)
- MSBとLSB(よく使う言葉)
MSBとは最上位ビット(MOST SIGNIFICANT BIT)
LSBとは最下位ビット(LEAST SIGNIFICANT BIT)
8ビットの数を”a7,a6,a5,a4,a3,a2,a1,a0"とすると、MSBは a7 ,LSBは a0 。
- 8進数と16進数: 2進数で表記すると桁数が多数必要でわかりにくいので、8進数や16進数を用いる。
- 8進数: 0,1,2,3,4,5,6,7の数字を用い、2進数の3桁に対応
32ビットの数 00 001 010 010 111 000 001 001 101 001 111
2進数 00 001 010 010 111 000 001 001 101 001 111 8進数 0 1 2 2 7 0 1 1 5 1 7
- 16進数: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,Fの数字・文字を用いて、0から15に数を示す。
32ビットの数 0000 1010 0101 1100 0001 0011 0100 1111
2進数 0000 1010 0101 1100 0001 0011 0100 1111 16進数 0 A 5 C 1 3 4 F
- 1の補数と、2の補数というものがあるが、デジタルコンピュータでは通常、2の補数で負数を表す。
- 1の補数: 2進数の’1’を’0’に、’0’を’1’に変換する。
例: ’101101’の1の補数は’010010’
- 2の補数: 2進数の1の補数に’1’を加える
例: ’001100’の2の補数は’110011’+’1’=’110100’
- 符号付2進数と符号なし2進数
符号なし2進数 符号あり2進数 ”110011” 51(10進数) −13(負)
- 符号つき2進数では、最上位ビットは符号ビットとなる。’0’は正、’1’は負。
- 2の補数を用いた加算と減算
加算: 符号ビットを含めた2数の加算を行う。最上位符号ビットからの桁上げは捨てる。
- 小数点以下の桁の重みは、1/2, 1/4, 1/8...となる。
”101111.111001”
32の位 16の位 8の位 4の位 2の位 1の位 小数点 1/2の位 1/4 1/8 1/16 1/32 1/64 1 0 1 1 1 1 . 1 1 1 0 0 1
10進数に変換するには
(整数部)=32+8+4+2+1=47
(小数部)=1/2+1/4+1/8+1/64=0.890625
10進数から2進数への変換の復習
10進数 28.8125 を2進数に変換する
(整数部)
28 / 2 = 14 ... 0
14 / 2 = 7 ... 0
7 / 2 = 3 ... 1
3 / 2 = 1 ... 1
1 / 2 = 0 ... 1
したから並べて ”11100”(小数数部)
0.8125 × 2 = 1.6250 ... 1(桁上げがあれば1)
0.6250 × 2 = 1.2500 ... 1
0.2500 × 2 = 0.5000 ... 0
0.5000 × 2 = 1.0000 ... 1
上から並べて ”1101”(28.8125)10進数 = (11100.1101)2進数
NOT回路は否定であり、入力が’1’であれば出力を’0’、入力が’0’であれば出力を’1’とする。
NOTの真理値表 | 回路シンボル | 入出力波形 | |
入力A | 出力f(A) | ||
0 | 1 | ||
1 | 0 |
クイズ1 学籍番号 名前 日付 を書いて 提出すること。
1)10進数23を2進数に変換せよ
2)2進数”10101010”を10進数に変換せよ
3)1バイトの数で0以上の整数を表す場合、どの範囲の整数を表せるか?
4)10進数45を2進数、8進数、16進数で表せ
5)10進数(−53)を8ビットの2進数(2の補数)で表せ
6)次の10進数の減算を6ビットの符号付2進数(2の補数)の加算を用いて行え。
A) 15−3 B)29−18 C)6−9 D)17−28
7)次のNOT回路で作られた回路はどのような動作をするか、説明せよ。
但しNOT回路の遅延時間tdを1ns(ナノ秒)とする。ナノは10の-9乗。
(自分のことばで説明してください。)
A) LATCH | B) RING |
以上