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

BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ - ttbilgin.com · •Ondalıklısayılar bilgisayar biliminde kayan noktalı sayılar (floating point numbers) olarak bilinir. Bunun sebebini

Aug 30, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ - ttbilgin.com · •Ondalıklısayılar bilgisayar biliminde kayan noktalı sayılar (floating point numbers) olarak bilinir. Bunun sebebini

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

Sayı ve Kodlama Sistemleri

Page 2: BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ - ttbilgin.com · •Ondalıklısayılar bilgisayar biliminde kayan noktalı sayılar (floating point numbers) olarak bilinir. Bunun sebebini
Page 3: BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ - ttbilgin.com · •Ondalıklısayılar bilgisayar biliminde kayan noktalı sayılar (floating point numbers) olarak bilinir. Bunun sebebini
Page 4: BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ - ttbilgin.com · •Ondalıklısayılar bilgisayar biliminde kayan noktalı sayılar (floating point numbers) olarak bilinir. Bunun sebebini

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

• 1101012 =?

10

012345

2

53

1 0 4 0 16 32

212021202121110101

Page 5: BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ - ttbilgin.com · •Ondalıklısayılar bilgisayar biliminde kayan noktalı sayılar (floating point numbers) olarak bilinir. Bunun sebebini

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

Page 6: BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ - ttbilgin.com · •Ondalıklısayılar bilgisayar biliminde kayan noktalı sayılar (floating point numbers) olarak bilinir. Bunun sebebini
Page 7: BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ - ttbilgin.com · •Ondalıklısayılar bilgisayar biliminde kayan noktalı sayılar (floating point numbers) olarak bilinir. Bunun sebebini
Page 8: BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ - ttbilgin.com · •Ondalıklısayılar bilgisayar biliminde kayan noktalı sayılar (floating point numbers) olarak bilinir. Bunun sebebini
Page 9: BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ - ttbilgin.com · •Ondalıklısayılar bilgisayar biliminde kayan noktalı sayılar (floating point numbers) olarak bilinir. Bunun sebebini

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

Page 10: BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ - ttbilgin.com · •Ondalıklısayılar bilgisayar biliminde kayan noktalı sayılar (floating point numbers) olarak bilinir. Bunun sebebini

İ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

Page 11: BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ - ttbilgin.com · •Ondalıklısayılar bilgisayar biliminde kayan noktalı sayılar (floating point numbers) olarak bilinir. Bunun sebebini

İ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

Page 12: BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ - ttbilgin.com · •Ondalıklısayılar bilgisayar biliminde kayan noktalı sayılar (floating point numbers) olarak bilinir. Bunun sebebini
Page 13: BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ - ttbilgin.com · •Ondalıklısayılar bilgisayar biliminde kayan noktalı sayılar (floating point numbers) olarak bilinir. Bunun sebebini
Page 14: BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ - ttbilgin.com · •Ondalıklısayılar bilgisayar biliminde kayan noktalı sayılar (floating point numbers) olarak bilinir. Bunun sebebini
Page 15: BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ - ttbilgin.com · •Ondalıklısayılar bilgisayar biliminde kayan noktalı sayılar (floating point numbers) olarak bilinir. Bunun sebebini
Page 16: BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ - ttbilgin.com · •Ondalıklısayılar bilgisayar biliminde kayan noktalı sayılar (floating point numbers) olarak bilinir. Bunun sebebini
Page 17: BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ - ttbilgin.com · •Ondalıklısayılar bilgisayar biliminde kayan noktalı sayılar (floating point numbers) olarak bilinir. Bunun sebebini
Page 18: BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ - ttbilgin.com · •Ondalıklısayılar bilgisayar biliminde kayan noktalı sayılar (floating point numbers) olarak bilinir. Bunun sebebini
Page 19: BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ - ttbilgin.com · •Ondalıklısayılar bilgisayar biliminde kayan noktalı sayılar (floating point numbers) olarak bilinir. Bunun sebebini

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.

Page 20: BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ - ttbilgin.com · •Ondalıklısayılar bilgisayar biliminde kayan noktalı sayılar (floating point numbers) olarak bilinir. Bunun sebebini
Page 21: BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ - ttbilgin.com · •Ondalıklısayılar bilgisayar biliminde kayan noktalı sayılar (floating point numbers) olarak bilinir. Bunun sebebini

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.

Page 22: BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ - ttbilgin.com · •Ondalıklısayılar bilgisayar biliminde kayan noktalı sayılar (floating point numbers) olarak bilinir. Bunun sebebini

• 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).

Page 23: BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ - ttbilgin.com · •Ondalıklısayılar bilgisayar biliminde kayan noktalı sayılar (floating point numbers) olarak bilinir. Bunun sebebini
Page 24: BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ - ttbilgin.com · •Ondalıklısayılar bilgisayar biliminde kayan noktalı sayılar (floating point numbers) olarak bilinir. Bunun sebebini

Devamı Haftaya …