10.10.2013
Bilgisayar Mimarisi
Sayısallaştırma ve Sayı Sistemleri
Yrd.Doç.Dr. Celal Murat KANDEMİR
ESOGÜ – Eğitim Fakültesi - BÖTE
twitter.com/cmkandemir
Veri (DATA)
Veri nedir?
Veri bazı fiziksel niceliklerin ham
ifadesidir.
Bilgi verinin belli bir yapıdaki şeklidir.
1
10.10.2013
Verilerin İfade Edilmesi
…011001110010
1000110010000
1100100001011
100100010000…
Analog - Sayısal (Dijital) İşaretler:
Gerçek
dünyada karşılaştığımız bir çok fiziksel
büyüklüğün (akım, gerilim, sıcaklık, ışık
şiddeti vb.) değeri sürekli bir aralık içinde
değişmektedir. Sınırlar arasındaki her türlü
olası değeri alabilen bu tür işaretlere analog
işaretler denir.
İkili
(binary) sayısal işaretler ise belli bir anda
sedece olası iki değerden birini alabilirler: 0 - 1,
yüksek – alçak, doğru – yanlış, açık - kapalı.
2
10.10.2013
Analog - Sayısal (Dijital) İşaretler:
5
Çözünürlük Teriminin Tanımı
Analog
aralığı ifade
etmek için
kullanılacak sayısal bit
miktarının
seçilmesidir.
8
Bit - 0 - 255
benzersiz (tekil) değer
10
Bit - 0 - 1023
12
Bit - 0 - 4095
16
Bit - 0 - 65535
3
10.10.2013
Örnekleme Oranı
Analog
işaretten sayısal bir değeri nasıl elde
ederiz.
Düzenli
bir aralıkta örnekleyerek.
Analog ve Dijital
Avantaj/Dezavantaj
8
4
10.10.2013
SAYISAL DURUMLAR
Sayısal Verinin Sadece
Analog
iki durumu vardır.
verinin sayısala çevrilmesine ihtiyaç
vardır.
İkilik Veri (Binary data)
İkilik
veri = bit dizgisidir.
Bit:
Birşeyin var / yok ilişkisidir.
Anahtar veya Lamba açık / kapalı
Gerilim yüksek / alçak
Doğru / Yanlış (true / false)
1/0
Bit
= Bilginin en küçük birimidir.
5
10.10.2013
Bit, Byte ve Word
Bir
bit tek bir ikilik basamağa karşılık gelir. (1
veya 0).
Bir
nibble (dörtlü) 4 bitten oluşur.
Bir
byte 8 bitten oluşur
Bir
word 32 bit veya 4 byte’tan (makineye bağlı
olarak)
Long
word = 8 byte = 64 bit
Quad
word = 16 byte = 128 bit
Programlama
dilleri veri saklarken veya veriye
ulaşırken standard sayıdaki bu bitleri kullanır.
İkilik Sayma
0
1
1 birler
=1
10
1 ikiler , 0 birler
=2
11
1 ikiler, 1 birler
=3
100
101
110
1 dörtler, 0 ikiler, 0 birler = 4
1 dörtler, 0 ikiler, 1 birler
=5
1 dörtler, 1 ikiler, 0 birler = 6
6
10.10.2013
0-15 Onluk Sayılar İçin İkilik Değerler
8
1
0
2
0
3
0
4 0
5
0
6 0
7
0
8 1
N=
4
0
0
0
1
1
1
1
0
2
0
1
1
0
0
1
1
0
1
1
0
1
0
1
0
1
0
9
10
11
12
13
14
15
8
1
1
1
1
1
1
1
4
0
0
0
1
1
1
1
2
0
1
1
0
0
1
1
1
1
0
1
0
1
0
1
Konumsal Gösterim
(An-1 An-2 … A1 A0. A-1 A-2 … A-m+1 A-m)r
. = Kesir noktası (Radix point)
r = Sayı sistemi tabanı
n = Kesir noktasının sol tarafındaki tamsayı
basamaklarının sayısı
m = Kesir noktasının sağ tarafındaki kesir
basamağı sayısı
Ai = i. Tamsayı basamak, n-1 ≥ i ≥ 0
Aj = j. Kesirli basamak, -1 ≥ j ≥ -m
An-1 = En önemli basamak
most significant digit (MSD)
A-m = En az önemli basamak
least significant digit (LSD)
7
10.10.2013
Polinomsal Gösterim
N sayısı aşağıdaki şekilde yazılabilir:
N = An-1 rn-1 + An-2 rn-2…. + A1 r1 + A0 r0 + A-1 r-1…. + A-m
r-m
N = ∑Ai ri (i = -m to n-1)
Onluk Tabanda Sayılar
Konumsal Gösterimde
N= An-1 An-2
N
A1 A0 . A-1 A-2 A-m+1 A-m
= 765.34
Polinomsal Gösterimde
N
= An-1 x 10n-1 + An-2 x 10n-2+.A-m x 10-m
N
= 7 x 102 + 6 x 101 + 5 x 100 + 3 x 10-1 + 4 x 10-2
8
10.10.2013
Bilgisayar Dünyasındaki Sayı Sistemleri
Onluk sayı sistemine ek olarak 3 sayı sistemi
kullanılır
Bunlar:
İkilik Sistem (Binary System) (2’lik tabanda)
Sekizlik Sistem (Octal System) (8’lik tabanda)
Onaltılık Sistem (Hexadecimal System) (16’lık
tabanda)
İkilik Sistem
2’lik Tabanda 2 rakam vardır: 0 ve 1
İkilik sayı 0 ve 1’lerden oluşmuş bir dizgidir.
İkilik sayılardaki basamaklara Bit adı verilir.
9
10.10.2013
İkilik Tabandan Onluk Tabana
Dönüştürme
İkilik sayıların ikilik tabandaki güç serilerine
açılması ile elde edilir.
N
= (110110) 2
Polinom açılımının kullanılmasıyla
(110110) 2 = 1 x 25 + 1 x 24 + 0 x 23 + 1 x 22 + 1 x 21 + 0 x 20
= 32 + 16 + 0 + 4 + 2 + 0
(110110) 2 = (54) 10
Devam...
Örnek 2.
N
= (1101.101) 2
= 1 x 23 + 1 x 22 + 0 x 21 + 1 x 20 +
1 x 2-1 + 0 x 2-2 + 1 x 2-3
= 8 + 4 + 0 + 1 + 0.5 + 0.125
(1101.101) 2 = (13.625) 10
10
10.10.2013
İkinin Katları Tablosu
n
0
1
2
3
4
5
6
7
2n
1
2
4
8
16
32
64
128
n
2n
8
256
9
512
10 1,024
11 2,048
12 4,096
13 8,192
14 16,384
15 32,768
n
16
17
18
19
20
21
22
23
2n
65,536
131,072
262,144
524,288
1,048,576
2,097,152
4,194,304
8,388,608
Bilgisayar Terminolojisinde Kullanılan
Birimler
210 = 1 K(kilo)
220 = 1 M(mega)
230 = 1 G(giga)
Örnek:
16K
= 24 x 210 = 214 = 16,384
4M = 22 x 220 = 222 = 4,194,304
1G = ___ M = ___K
11
10.10.2013
Sekizlik Sayılar (Octal)
(8 Tabanlı Sistemler)
8 rakam mevcuttur 0,1,2,3,4,5,6 ve 7.
8 veya 9 olmadığına dikkat ediniz.
Taban 8’dir. r = 8.
Onluk tabana çevirme işlemi
N = (127.4) 8
= 1 x 82 + 2 x 81 + 7 x 80 + 4 x 8-1
= 64 + 16 + 7 +0.5
(127.4) 8 = (87.5) 10
N = (306.5) 8
= (____) 10
Büyük Sayılarla Çalışmak
0101000010100111 = ?
• İkilik tabandaki büyük sayılarla çalışmak
çok basamakla ilgilenmek gerektiği için
zordur.
• Bellek adresleri ve diğer veriler gerçekten
oldukça büyüktür. Bu yüzden bazı
zamanlarda Onaltılık Sayı Sistemi
kullanılır (hexadecimal number system).
12
10.10.2013
Onaltılık Sayılar (Hexadecimal)
(16 Tabanlı Sistemler)
16 rakam mevcuttur.
0 - 9 rakamlar ile A, B, C, D, E ve F harfleridir.
A = 10, B = 11, C = 12, D = 13, E = 14, F = 15
Taban 16’dır. r = 16
Onluk Tabana çevirme işlemi
N = (B65F) 16
= 11 x 163 + 6 x 162 + 5 x 161 + 15 x160
= 45,056 + 1536 + 80 +15
(B65F) 16 = (46687) 10
N = (FE01) 16
= (_____) 10
Onaltılık Taban
İkilik
0101 0000 1001 0111
onaltılık
5
Yazılış:
509716
0
9
7
13
10.10.2013
Onaltılık Sayı Sistemi
(Hexadecimal Number System)
İkilik
0
1
10
11
100
101
110
111
1000
1001
Onluk
Onaltılık
İkilik
Onluk
Onaltılık
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
1010
1011
1100
1101
1110
1111
10
11
12
13
14
15
A
B
C
D
E
F
Sekizlik ve Onaltılık Sayılar
İkilik tabandaki sayıları dolaylı olarak ifade etmek için
oldukça kullanışlıdırlar.
Tabanları ikinin katıdır
23 = 8 ve 24 = 16
Herbir sekizlik basamak 3 adet ikilik basamağa karşılık
gelir.
Herbir onaltılık basamak 4 adet ikilik basamağa karşılık
gelir.
Çok kompakt (özlü) ve bu yüzden de çok uygundur.
14
10.10.2013
İkilik Tabandan Sekizlik ve
Onaltılık Tabana Çevirme
İkilik sayının kesir noktasından itibaren 3 veya
4 bitlik gruplar halinde soldan sağa doğru
bölünmesiyle kolaylıkla işlem tamamlanır.
Herbir gruba ilgili sekizlik veya onaltılık değer
atanır.
Örnekler
İkilik tabandan sekizlik tabana
N = (111011010011.110010) 2
= (111 011 010 011 . 110 010) 2
= (7323.62) 8
İkilik tabandan onaltılık tabana
N = (1110000011110101.110101101100) 2
= (1110 0000 1111 0101.1101 0110 1100) 2
= (E0F5.D6C) 16
15
10.10.2013
Devam..
N = (101011011000.111100001010)2
= (5330.7412)8
= (AD8.F0A)16
N = (11101101101100110.1101110100011)2
= (____________) 8
= (____________) 16
Onluk Tabandan Diğer Tabanlara
Dönüşüm
Eğer sayı kesir ayracı içeriyorsa i tamsayı kısmı ve f kesir kısmı
olmak üzere iki bileşene ayırınız.
Bu iki bileşen ayrı ayrı çevrilecektir.
i bileşeni daha sonra r tabanına (dönüştürülecek taban) bölünür.
Her bölme işleminden sonra elde edilen bölüm art arda r ile
bölünür.
Kalanlar biriktirilir.
f bileşeni ise r taban değeri ile çarpılır ve çarpım sonucunun
tamsayı kısmı gözönüne alınır.
Tamsayı kısım için bölüm işlemlerindeki kalanlar aşağıdan
yukarıya okunur.
Kesirli kısım için ise çarpım sonucuçlarındaki tamsayı kısımlar
yukarıdan aşağıya okunur.
16
10.10.2013
Onluk Tabandan İkilik Taban Çevrim
(Tamsayı Bileşen)
(37)10 onluk tabandaki sayıyı ikilik tabana çeviriniz.
37/2 = 18 + 1/2
Kalan = 1 LSD(LSB)
18/2 = 9 + 0/2
Kalan = 0
9/2 = 4 + 1/2
Kalan = 1
4/2 = 2 + 0/2
Kalan = 0
2/2 = 1 + 0/2
Kalan = 0
1/2 = 0 + 1/2
Kalan = 1 MSD(MSB)
(37)10 = (100101)2
Onluk Tabandan İkilik Taban
Çevrim (Kesirli Bileşen)
(0.6875) 10 onluk tabandaki sayıyı ikilik tabana çeviriniz.
0.6875 x 2 = 1.3750
0.3750 x 2 = 0.7500
0.7500 x 2 = 1.5000
0.5000 x 2 = 1.0000
Tamsayı = 1
Tamsayı = 0
Tamsayı = 1
Tamsayı = 1
MSB
LSB
(0.6875) 10 = (0.1011) 2
17
10.10.2013
Onluk Tabandan Sekizlik Tabana
Çevrim (Tamsayı Bileşen)
Örnek: (165)10 sayısını sekizlik tabana
çeviriniz
165/8 = 20 + 5/8
20/8 = 2 + 4/8
2/8 = 0 + 2/8
Kalan = 5
Kalan = 4
Kalan = 2
LSD
MSD
(165) 10 = (245) 8
Onluk Tabandan Sekizlik Tabana
Çevrim (Kesirli Bileşen)
(0.513)10 onluk tabanda verilen sayıyı sekizlik tabana
çeviriniz
0.513 x 8 = 4.104 Tamsayı = 4
MSD
0.104 x 8 = 0.832 Tamsayı = 0
0.832 x 8 = 6.656 Tamsayı = 6
0.656 x 8 = 5.248 Tamsayı = 5
LSD
(0.513)10 = (0.4065)8
Virgülden sonra 3 basamak hassasiyet kullanılırsa:
(0.513)10 = (0.407)8
18
10.10.2013
Onluk Tabandan Onaltılık Tabana
Çevrim
(190)10 onluk tabandaki sayıyı onaltılık tabana
çeviriniz.
Taban 16
190/16 = 11 + 14/16
11/16 = 0 + 11/16
(190) 10
Kalan = 14 = E
Kalan = 11 = B
LSD
MSD
= (BE) 16
Sorular?
19
Download

BM_02.sayiSistemleri