基本情報技術者

http://www.jitec.jp/

2009

コンピュータ科学基礎

データ表現

2進数

10進数から2進数へ変換

10進数の37を2進数に変換
37-2^5(32) = 5
5-2^2(4) = 1
1-2^(0) = 0

(重みにヒットした乗数がそのまま桁の1フラグに使われる)
2の5,3,0乗がヒットしたので、
000100101
128 64 32 16 8 4 2 1
2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^1
0 0 1 0 0 1 0 1

2進数から10進数へ変換

2進数の00001101を10進数に変換
2^3 + 2^2 + 2^1
=8 + 4 + 1
=13
128 64 32 16 8 4 2 1
2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
0 0 0 0 1 1 0 1

2進数から10進数へ変換 (小数)

2進数の1.011を10進数に変換
2^0 + 2^-2 + 2^-3
= 1 + 0.25 + 0.125
=1.375
8 4 2 1 . 0.5 0.25 0.125 0.0625
2^3 2^2 2^1 2^0 . 2^-1 2^-2 2^-3 2^-4
0 0 0 1 . 0 1 1 0

2進数と10進数と16進数

16進数 10 F E D C B A 9 8 7 6 5 4 3 2 1 0
10進数 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
2進数 10000 1111 1110 1101 1100 1011 1010 1001 1000 111 110 101 100 11 10 1 0

桁を表す記号

記号 読み
10^12 T テラ
10^9 G ギガ
10^6 M メガ
10^3 k キロ
10^-3 m ミリ
10^-6 μ マイクロ
10^-9 n ナノ
10^-12 p ピコ

データを表す単位

1 bit は 2進数の一桁分

情報の最小単位

1 byte = 8 bit

8桁分の2進数

10進数で255までの数値を表せる

ビット演算

2進数の桁をズラして計算する

左へ2bitズラすと2^2で10進数の4倍掛けた計算になる
00001001 = 9
↓
00100100 = 36

9 * 4 = 36

対数

log _a M = n → a^n = M 2つの式は同じ意味
log _a 1 = 0
log _a a = 1
log _a M^b = b *  log _a M

論理演算

論理演算 入力1 入力2 出力
NOT

否定

0 1
1 0
OR

論理和

0 0 0
1 0 1
0 1 1
1 1 1
AND

論理積

0 0 0
1 0 0
0 1 0
1 1 1
XOR

排他的倫理和

0 0 0
1 0 1
0 1 1
1 1 0
NOR

否定倫理和

0 0 1
1 0 0
0 1 0
1 1 0
NAND

否定倫理積

0 0 1
1 0 1
0 1 1
1 1 0

半加算器

全加算器

全加算器

UTF-8 は 8bite

流れ図

木構造