bİlgİsayar mÜhendİslİĞİne gİrİŞ - ttbilgin.com · •ondalıklısayılar bilgisayar...

24
BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ Sayı ve Kodlama Sistemleri

Upload: others

Post on 30-Aug-2019

22 views

Category:

Documents


0 download

TRANSCRIPT

BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ

Sayı ve Kodlama Sistemleri

İkili sayıların Onlu sayılara Çevirimi(Binary to Decimal Conversion)

• 1101012 =?

10

012345

2

53

1 0 4 0 16 32

212021202121110101

Onluk – ikilik çevrimi (decimal tobinary conversion)• 1 bayt (8 bit) veri 28 yani 256 farklı değer alabilir

(00000000)2 = (0)10 (11111111)2 = (255)10

• Örn: (175)10 = (?)2175 2-174 87 2

1 -86 43 21 -42 21 2

1 -20 10 21 -10 5 2

0 -4 2 21 -2 1

0

10101111

2 tür tümleme vardır:• 1’e tümleme: 678 sayısının 1’e tümleyeni 321• 2’ye tümleme: 678 sayısının 2’ye tümleyeni

321+1=322

İkili Sayıların Tümleyenini Alma

• 1’e TÜMLEME

• İkili sayı sisteminde bir sayının tümleyenini almak o sayının 0 olan bitlerini 1, 1 olanları da 0’a çevirerek gerçekleştirilir (tersini veya değilini almak ta diyebiliriz).

• Sonuçta sayı ile o sayının tümleyeni toplandığında tüm bitlerin 1 olduğu durum elde edilir.

• Örn: Sayımız : (10110100)2 = (180)10

Tümleyeni : (01001011)2 = (75)10

İkili Sayıların Tümleyenini Alma

• 2’ye TÜMLEME

• Sayının tümleyenine 1 eklenmesi ise «2’ye göre tümleyen» olur.

Örn: Sayımız : (10110100)2 = (180)10

Tümleyeni : (01001011)2 = (75)10

2’ye tümleyeni: (01001100)2 = (76)10

Negatif sayılar nasıl temsil edilir?

• Negatif tamsayıları temsil etmek için 1 bitlik bilginin işaret (- veya +) için kullanılması düşünülebilir.

• Örneğin 16 bit veri boyutu için:

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

• Bu yöntemin olumsuz yanı sıfırın hem negatif hem de pozitif olarak değerlendirilmesidir (16 bitin tamamı 0 ise '+0', işaret biti 1 diğerleri 0 ise '-0').

1 ise –0 ise +

Kalan 15 bit ile 32.768 (215) sayı temsil edilebilir

Bu yöntem ile -32.767 ile +32.767 arasındaki sayıları temsil edebiliriz.

Kaç bit gerekli?

• n bit ile temsil edilebilecek en büyük sayı = 2n-1’dir.• n = 4 ise 15, n = 8 ise 255, n = 16 ise 65535, …

• Soru: (1.000.000)10 sayısını 2’li sayı sisteminde temsil edebilmek için kaç bit gereklidir?• 2n-1 >= 1.000.000 olması gereklidir. Bu durumda n en az

20 olmalıdır (210 = 1024 olduğuna göre 220 = 10242)

• NOT: Bilgisayarda sayılar genellikle 1 bayt, 2 bayt, 4 bayt veya 8 bayt gibi büyüklüklerde saklanır. 3 bayt ya da 5 bayt gibi veri büyüklükleri programlama dillerinde yoktur. 1 milyon sayısı için 2 bayt (16 bit) yetmeyeceği için 4 bayt (32 bit) bir veri büyüklüğü seçmeliyiz.

32 bit ile 232-1 = 4.294.967.295’ e kadar sayıları temsil edebiliriz.

• Ondalıklı sayılar bilgisayar biliminde kayan noktalı sayılar (floating point numbers) olarak bilinir. Bunun sebebini bir örnek ile açıklayabiliriz:

• 123.4567 sayısı aşağıdaki şekillerde gösterilebilir:12.34567 x 101 = 1.234567 x 102 = 0.1234567 x 103

• Görüldüğü gibi noktanın solunda sıfıra ulaşana kadar nbasamak kaydırdığımızda sayının yanına x 10n eklenir. Bilgisayarda sadece 1234567 (mantis) ve n (üs)değerlerini tamsayı olarak saklamak yeterli olacaktır.

• Eğer ondalıklı sayı 32 bit büyüklükte saklanacaksa 23 bit mantis için 8 bit üs için 1 bit ise işaret için kullanılır (64 bit için ise sırasıyla 52, 11, 1 şeklinde olacaktır).

Devamı Haftaya …