Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 23

BLGSAYAR

PROGRAMLAMA
Ders 1 (2): Say ve Kodlama
Sistemleri
Yrd. Do. Dr. Altan MESUT
Trakya niversitesi
Bilgisayar Mhendislii

Bit, Byte, KiloByte,


MegaByte,
Bilgisayar elektronik bir cihaz olduu iin elektrik
akmnn geirilmesi (1) yada geirilmemesi (0)
durumlarn ileyebilir. Bu nedenle ikili say
sistemini temel alarak veri iler ve saklarlar.
En kk bellek birimi sadece 0 ve 1 deerlerini
alabilen ikili say sisteminde bir basamaa denk
gelen Bittir.
1 Bayt (Byte) = 8 Bit
1024 Byte = 1 KiloByte (KB) Neden 1000 deil de
1024 KB = 1 MegaByte (MB) 1024 ?
1024 MB = 1 GigaByte (GB) Bilgisayar 2li say
1024 GB = 1 TeraByte (TB)
sistemine gre alt
iin 103 deil 210 temel
alnr.

kili (binary) Say Sistemi


1 bayt (8 bit) veri 28 yani 256 farkl deer
alabilir
175 2
(00000000)2 = 101011
(0)10
(11111111)
2 =
-174 87 2
(255)10
11
1 -86 43 2
1 -42 21 2
rn: (175)10 = (?)2
1 -20 10 2
18
2 2 2 2 2 2 2
2
0
128 + 32 + 16 + 4
rn:=(10110100)
180
2 = (?)10
7
0

1 -10 5
0 -4

2
2

2
1 -2
1
0

Onaltl (hexadecimal) Say


Sistemi
kili say sisteminin okunabilirliinin zor
olmas nedeniyle 16l say sistemi
verilerin temsil edilmesinde sklkla
kullanlr. 16l say sistemindeki her
Decim Hexadeci
Decim
basamak
4 bitiBina
ifade eder
(24Hexadeci
= 16). Bina
al

mal

ry

al

mal

ry

0000

1000

0001

1001

0010

10

1010

0011

11

1011

0100

12

1100

0101

13

1101

0110

14

1110

0111

15

1111

Sekizli (Octal) Say Sistemi


8li say sistemi 3 bit bykle denk
gelmektedir.
nceki slaytta sadece sol taraftaki tablo

16l say sisteminin 8li say sistemine gre


daha ok kullanlmasnn nedeni: 1 bayt (8 bit)
2 tane 4 bitlik hexadecimal say ile ifade
edilebilirken, 8 says 3e tam blnmedii iin
ne 2 ne de 3 octal say bir bayta denk
gelememektedir.

(200)10 = (??)16 = (???)8 = (????????)2


(C8)16 = (310)8 = (11001000)2

3C 1 80

Ka bit gerekli?
n bit ile temsil edilebilecek en byk say
= 2n-1dir.
n = 4 ise 15, n = 8 ise 255, n = 16 ise 65535,

Soru: (1.000.000)10 saysn 2li say


sisteminde temsil edebilmek iin ka bit
gereklidir?
2n-1 >= 1.000.000 olmas gereklidir. Bu
durumda n en az 20 olmaldr (210 = 1024
olduuna gre 220 = 10242)
NOT: Bilgisayarda saylar genellikle 1 bayt, 2
32 bit ile 232-1 = 4.294.967.295 e kadar saylar temsil
bayt, 4 bayt veyaedebiliriz.
8 bayt gibi byklklerde

kili Saylarn Tmleyenini


Alma
kili say sisteminde bir saynn tmleyenini almak o
saynn 0 olan bitlerini 1, 1 olanlar da 0a evirerek
gerekletirilir (tersini veya deilini almak ta
diyebiliriz).
Sonuta say ile o saynn tmleyeni toplandnda
tm bitlerin 1 olduu durum elde edilir.
rn: Saymz : (10110100)2 = (180)10

Tmleyeni : (01001011)2 = (75)10


Toplamlar : (11111111)2 = (255)10
Bulduumuz tmleyen 1e gre tmleyen olarak
bilinir. Saynn tmleyenine 1 eklenmesi ise 2ye
gre tmleyen olur. (01001100)2 = (76)10
Say ile ikiye gre tmleyenini toplarsak sol tarafa 1 bit tama olur.
180 + 76 = 256 (bu deer 8 deil 9 bit ile ifade edilebilir:

Negatif saylar nasl temsil


edilir?
Negatif tamsaylar temsil etmek iin 1 bitlik
bilginin iaret (- veya +) iin kullanlmas
dnlebilir.
rnein 16 bit veri boyutu iin:
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 ise
Kalan 15 bit ile 32.768 (215) say temsil

edilebilir
0 ise
yntemin
olumsuz yan sfrn hem negatif
+

Bu
hem de pozitif olarak deerlendirilmesidir (16
bitin tamam 0 ise '+0', iaret biti 1 dierleri 0
ise '-0').
Bu yntem ile -32.767 ile +32.767 arasndaki saylar temsil
edebiliriz.

Negatif saylar nasl temsil


edilir?
kinci yntem 2ye gre tmleyen alma yntemini
kullanmaktr (C dili de bu yntemi kullanr).
Windows Hesap Makinesinin Programc
grnmnde bir say yazp Not dmesine
tkladnzda deilini (tersini, 1e gre tmleyenini)
aldn, iaret deitiren dmesine tkladnzda
ise 2ye gre tmleyenini aldn
gzlemleyebilirsiniz.
rn: 10.000 ve -10.000 saylarnn hafzada (RAM)
nasl saklandna Windows hesap makinesinin
programc grnmnde bakalm:
+10.000 = 0010 0111 0001 0000
-10.000 = 1101 1000 1111 0000
Bu yntem ile -32.768 ile +32.767 arasndaki saylar temsil
edebiliriz.

Ondalkl saylar nasl


temsil edilir?
Ondalkl saylar bilgisayar biliminde kayan noktal saylar
(floating point numbers) olarak ta bilinir. Bunun sebebini
bir rnek ile aklayabiliriz:
123.4567 says aadaki ekillerde gsterilebilir:
12.34567 x 101 = 1.234567 x 102 = 0.1234567 x 103
Grld gibi noktann solunda sfra ulaana kadar n
basamak kaydrdmzda saynn yanna x 10n eklenir.
Bilgisayarda sadece 1234567 (mantis) ve n (s)
deerlerini tamsay olarak saklamak yeterli olacaktr.
Eer ondalkl say 32 bit byklkte saklanacaksa 23 bit
mantis iin 8 bit s iin 1 bit ise iaret iin kullanlr (64
bit iin ise srasyla 52, 11, 1 eklinde olacaktr).
Bak: Temel Veri Yaplar

BCD (Binary Coded


Decimal)
Ondalk say sistemindeki saylarn her
basamann 4 bit olarak kodlanmasdr.
rn: 4859 saysnn BCD karl nedir?
0100 1000 0101 1001

4
8
5
9
BCD kullanldnda
16 bit ile temsil edilebilecek en
byk say 9999dur. Normalde 16 bit ile 216 farkl
saynn (65535e kadar) temsil edilebileceini
biliyoruz. BCD 4 bit ile temsil edilebilecek 16 farkl
durumdan 10 tanesini kullanabildii iin byle bir
kayba neden olmaktadr.

ASCII (AmericanStandardCode
forInformationInterchange)
Bilgisayarda metin tr verilerin ilenebilmesi
veya saklanabilmesi iin byk ve kk harflerin,
noktalama iaretlerinin ve klavyedeki dier
yardmc karakterlerin ikili kodlar ile ifade edilmesi
gereklidir.
50li yllarda her retici firma farkl bir kodlama
kullanrken, 1963 ylnda yaynlanan ASCII
standard ile tm bilgisayarlarn ayn kodlamay
kullanmas salanmtr. lk etapta oluturulan 7
bitlik kodlara sahip (128 farkl kod ieren) ASCII
tablosuna, sonradan 1 bit daha ilave edilerek 256
kodluk geniletilmi ASCII tablosu
oluturulmutur.

Standar
t ASCII
Tablosu
128 kodun 33 tanesi ekrana baslmayan, 95
tanesi baslabilen karakterden oluur.
0-31 arasndaki saylar, yazc gibi baz evresel
aygtlar iin kullanlan denetim karakterlerine
atanmtr.
rn: 12 (hex C) form besleme/yeni sayfa (FF: Form
Feed) ilevine ayrlmtr. Bu komut yazcya bir sonraki
sayfann bana atlama bilgisi verir.
rn: ENTER tuuna bastmzda 10 (hex A) ve 13 (hex
D) kodlar retilir. 10 satr ba (LF: Line Feed) 13 ise alt
satr (CR: Carriage Return) karldr. kisi de ekranda
grnmez, alt satrn bana gitme iini gerekletirir.

Geniletilmi (Extended)
ASCII
Standart ASCII tablosu ngilizce iin yeterli
olsa da dier dillerde olan baz harfleri,
matematiksel sembolleri ve tablo izgileri
oluturan karakterler gibi zel simgeleri
iermedii iin bu tablo geniletilerek 256
koda kartlmtr.
rnein , , , , , , , , gibi harfler,
, , gibi matematiksel semboller, , , ,
, gibi kutu izim simgeleri 128-255
aralnda (geniletilmi ksmda) yer
alr.

rn: Yandaki tablo karakterler ile izilmitir


0-127 Standart

128-255 Geniletilmi

Unicode
256 karakterlik ASCII kod tablosunda Yunan,
Kiril, Arap ve Japon alfabesi gibi farkl alfabelere
ait karakterlerin olmad (Trkedeki , , , ,
ve karakterleri de yok) dikkatinizi ekmitir.
90l yllara kadar bu afabelere zg farkl yaz
tipleri (font) gelitirilerek bu soruna zm
bulunmu, 1991 ylnda yaynlanan ve her
elemann 16-bit bir kod ile temsil edildii 65536
farkl eleman ierebilen Unicode (Universal
Code: Evrensel Kod) ile tm dillere ait
karakterleri, matematiksel sembolleri, vs.
ieren ortak bir kod tablosu oluturulmutur.

MS Office Word ve Powerpointte Ekle sekmesinden Simge eklemeyi


setiinizde Arial, Calibri, Times New Roman gibi baz yaz tipleri iin Alt
Kme seeneini grebilirsiniz.
Eer alttaki yeri ksmndan Unicode yerine ASCII ya da Trke
seerseniz Alt Kme seimi kaybolacaktr (Arap alfabesine ait
karakterleri artk gremeyeceksiniz). Trke setiinizde , , , , ve
harflerinin karakter kodlarn grebilecek, ASCII setiinizde ise o
kodlarda baka karakterler greceksiniz (ASCII tablosundaki baz
kodlarn dile zg olarak farkl hale getirilmesine rnektir).
Symbol, Wingdings gibi baz yaz tiplerinde Alt Kme seenei yoktur.
Yeri ksmnda sadece Simge yazar (ASCII, Unicode yok).

Veri Yaplar
Veri yaplar bilgisayar ortamnda verilerin
etkin olarak saklanmas ve ilenmesi iin
kullanlan yaplardr.
Karakter, Tamsay ve Gerel Say gibi
deikenler temel veri yaps olarak kabul
edilir.
Karakterler bir araya gelerek szceleri
(string), saylar bir araya gelerek dizileri
(array) oluturur.
Seilen veri yaps algoritmann doru ve
etkin alabilmesi iin nemlidir.

Veri Yaps ve Bilgi


0100 0010 0100 0001 0100 0010 0100
4
2
4
1
4
2
4
1
0001
Yukardaki bit dizisi;

Karakter dizisi (string) ise (ASCII):


BCD (Binary Coded Decimal) ise:
16-bit tam say ise:
32-bit tam say ise:
32-bit gerel say ise:
0.4276801x1066

BABA
42414241
16961 16961
1111573057

Temel Veri Yaplar


Karakterler
ASCII
Unicode

Her karakter 8 bit (28 = 256 farkl karakter)


Her karakter 16 bit (216 = 65536 farkl karakter)

Tamsaylar

8 bit
16 bit
32 bit
64 bit

char, byte
short int, short, ShortInt, Int16
int, integer, Int32
long int, long, LongInt, Int64

Ondalkl (Gerel) Saylar

16 bit
32 bit
64 bit
128 bit

half (IEEE 754-2008)


single, float
double, real (Pascal)
quad

32 bit 64 bit
Gnmzde birok iletim sistemi ve
programlarn 32 bit ve 64 bit olmak zere iki
farkl kurulum seenei vardr.
64 bitlik iletim sistemleri sayesinde byk
saylar zerinde daha hzl aritmetiksel ilem
yaplabilir. 64-bit iletim sisteminin
kurulaca donanm da (zellikle CPU) 64-bit
ilem yapabilme zelliine sahip olmaldr.
64 bitlik bir iletim sistemi ykl deilse
bilgisayarnz 64 bitlik bir uygulama
programn altramaz.

Diziler
String: Karakter dizileri (Szce)
Karakter saysnn tutulmas (PASCAL)
[ 6, t, r, a, k, y, a ]

Sonlandrma karakterinin (\0) kullanlmas (C)


[ t, r, a, k, y, a, \0 ]

Array: Say dizileri


Tek
ki
3 boyutlu,
1 7
4
6

boyutlu
3 1 (matris), ok boyutlu
2
1
3 2

You might also like