Yrd. Doç. Dr. Caner ÖZCAN

Benzer belgeler
Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN

Hafta 4 Döngü Yapıları

Hafta 5 Algoritma Örnekleri ve Analizi

Yrd. Doç. Dr. Caner ÖZCAN

Hafta 7 C Programlama Diline Giriş ve C Derleyicisi

BLM111 Programlama Dilleri I. Hafta 10 Diziler. Yrd. Doç. Dr. Caner ÖZCAN

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-11 Karakter Diziler. Yrd. Doç. Dr. Ümit ATİLA

Hafta 9 C Dilinde Kontrol ve Döngü Yapıları

Yrd. Doç. Dr. Caner ÖZCAN

BLM 112- Programlama Dilleri II. Hafta 4 İşaretçiler (Pointers)

Yrd. Doç. Dr. Caner ÖZCAN

Hafta 12 Karakter Tutan Diziler

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-10 Diziler. Yrd. Doç. Dr. Ümit ATİLA

Hafta 11 Çok Boyutlu Diziler

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-4 Döngü Yapıları. Yrd. Doç. Dr. Ümit ATİLA

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-2 Değişken Kavramı ve Temel Operatörler

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe

Hafta 13 Fonksiyonlar

BLM 112- Programlama Dilleri II. Hafta 5 İşaretçiler (Pointers)

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe

1. Bölüm Sayı Sistemleri

Hafta 8 C Dilinde Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe

Her bir kapının girişine sinyal verilmesi zamanı ile çıkışın alınması zamanı arasında çok kısa da olsa fark bulunmaktadır -> kapı gecikmesi

Week 5 Examples and Analysis of Algorithms

EGE ÜNİVERSİTESİ EGE MYO MEKATRONİK PROGRAMI

2. Sayı Sistemleri. En küçük bellek birimi sadece 0 ve 1 değerlerini alabilen ikili sayı sisteminde bir basamağa denk gelen Bit tir.

Hafta 1 Programlamaya Giriş

Elektronik sistemlerde dört farklı sayı sistemi kullanılır. Bunlar;

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-1 Kapsama Kuralları & Rasgele Sayı Üretimi & Rekürsif (Özyinelemeli) Fonksiyonlar

BILGISAYAR ARITMETIGI

SAYI SİSTEMLERİ ve BOOLE CEBİRİ 1+1=1 ÖĞR.GÖR. GÜNAY TEMÜR - TEKNOLOJİ F. / BİLGİSAYAR MÜH.

BLM1011 Bilgisayar Bilimlerine Giriş I

Computer Networks 7. Öğr. Gör. Yeşim AKTAŞ Bilgisayar Mühendisliği A.B.D.

2. SAYI SİSTEMLERİ. M.İLKUÇAR - imuammer@yahoo.com

Bir ağ içerisinde bulunan tüm cihazların bir IP adresi olmak zorundadır. Cihazlar haberleşmelerini bu IP adresi üzerinden sağlar ancak cihazların

Sayı sistemleri iki ana gruba ayrılır. 1. Sabit Noktalı Sayı Sistemleri. 2. Kayan Noktalı Sayı Sistemleri

Giriş MİKROİŞLEMCİ SİSTEMLERİ. Elektronik Öncesi Kuşak. Bilgisayar Tarihi. Elektronik Kuşak. Elektronik Kuşak. Bilgisayar teknolojisindeki gelişme

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-3 İşaretçiler (Pointer) (Kısım-2)

Sayı sistemleri-hesaplamalar. Sakarya Üniversitesi

2. Sayı Sistemleri. En küçük bellek birimi sadece 0 ve 1 değerlerini alabilen ikili sayı sisteminde bir basamağa denk gelen Bit tir.

Yrd. Doç. Dr. Caner ÖZCAN

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-7 C Programlama Diline Giriş

Fatih University- Faculty of Engineering- Electric and Electronic Dept.

Algoritmalar ve Programlama. DERS - 2 Yrd. Doç. Dr. Ahmet SERBES

Hafta 1 Programlamaya Giriş

Bilgisayar Mühendisliğine Giriş

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-7 Sıralama Algoritmaları

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

2. SAYI SİSTEMLERİ 2. SAYI SİSTEMLERİ

SAYISAL ELEKTRONİK. Ege Ü. Ege MYO Mekatronik Programı

SAYISAL ELEKTRONİK DERS NOTLARI:

Nesne Yönelimli Programlama

Algoritma ve Programlama: Karar Yapıları ve Döngüler

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-8 Dosya İşlemleri-1. Yrd. Doç. Dr. Ümit ATİLA

Sayı Sistemleri. Onluk, İkilik, Sekizlik ve Onaltılık sistemler Dönüşümler Tümleyen aritmetiği

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-1 Temel Kavramlar ve Algoritma

2. SAYI SİSTEMLERİ VE KODLAR

DERS NOTLARI. Yard. Doç. Dr. Namık AKÇAY İstanbul Üniversitesi Fen Fakültesi

IP Alt Ağlara Bölmek (Subnetting)

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

A.Ü. GAMA MYO. Elektrik ve Enerji Bölümü ALGORİTMA VE PROGRAMLAMA 1.HAFTA

BILGISAYAR ARITMETIGI

BLM 112- Programlama Dilleri II. Hafta 2 C Programlarının Bellek Düzeni ve Rekürsif (Özyinelemeli) Fonksiyonlar

Alt Ağ Maskesi (Subnet Mask)

Öğr. Gör. Ümit ATİLA

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

ALGORİTMA VE PROGRAMLAMA I DERS#1

ELEKTRİK-ELEKTRONİK MÜHENDİSLİĞİ SAYISAL DEVRE TASARIMI LABORATUVARI DENEY RAPORU. Deney No: 3 FF Devreleri

Fatih University- Faculty of Engineering- Electric and Electronic Dept.

EEM122SAYISAL MANTIK SAYICILAR. Elektrik Elektronik Mühendisliği Yrd. Doç. Dr. Hüseyin Sağkol

Sayı sistemleri iki ana gruba ayrılır. 1. Sabit Noktalı Sayı Sistemleri. 2. Kayan Noktalı Sayı Sistemleri 2. SAYI SĐSTEMLERĐ VE KODLAR

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

KASIRGA -4 Buyruk Tasarımı Belgesi Ankara

AĞ TEMELLERI. İSİM SOYİSİM: EMRE BOSTAN BÖLÜM: BİLGİSAYAR PROGRAMCILIĞI ÜNİVERSİTE: NİŞANTAŞI KONU: Konu 5. TCP/IP

Temel Bilgisayar Programlama

Klavye Kullanımı KLAVYE KULLANIMI

Konular MİKROİŞLEMCİ SİSTEMLERİ. Giriş. Bilgisayar Tarihi. Elektronik Kuşak. Elektronik Öncesi Kuşak

ALGORİTMA VE PROGRAMLAMA II

DENEY 4: TOPLAYICILAR, ÇIKARICILAR VE KARŞILAŞTIRICILAR

DSP DONANIMI. Pek çok DSP için temel elemanlar aşağıdaki gibidir.

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Akış Diyagramı)

AND Komutu. and hedef, kaynak

Bilgisayar Programlama. 1.Hafta

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

OCTAL (SEKİZLİ) SAYI SİSTEMİ:

DENEY 3a- Yarım Toplayıcı ve Tam Toplayıcı Devresi

Mikroişlemcilerde Aritmetik

DENEY 4: TOPLAYICILAR, ÇIKARICILAR VE KARŞILAŞTIRICILAR

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

Kişisel Bilgisayarın Parçaları

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

Mikrobilgisayarda Aritmetik

Bir işaretli büyüklük sayısında en soldaki basamak bir işaret içerir. Diğer basamaklarda ise sayısal değerin büyüklüğü (mutlak değeri) gösterilir.

Transkript:

Yrd. Doç. Dr. Caner ÖZCAN

İkilik Sayı Sistemi İkilik sayı sisteminde 0 lar ve 1 ler bulunur. Bilgisayar sistemleri yalnızca ikilik sayı sistemini kullanır. ( d 4 d 3 d 2 d 1 d 0 ) 2 = ( d 0. 2 0 ) + ( d 1. 2 1 ) + ( d 2. 2 2 ) + ( d 3. 2 3 ) + ( d 4. 2 4 ) ( 10011 ) 2 = ( 1. 2 0 ) + ( 1. 2 1 ) + ( 0. 2 2 ) + ( 0. 2 3 ) + ( 1. 2 4 ) = 19 2

HEXADECIMAL SAYI SİSTEMİ Hexadecimal (Onaltılık) sayı sisteminde 16 farklı sembol bulunur. ( 3FC ) 16 = ( 3. 16 2 ) + ( F. 16 1 ) + ( C. 16 0 ) = 768 + 240 + 12 = 1020 ( 1FA9 ) 16 = ( 1. 16 3 ) + ( F. 16 2 ) + ( A. 16 1 ) + ( 9. 16 0 ) = 4096 + 3840 + 160 + 9 = 8105 ( 75 ) 16 = ( 7. 16 1 ) + ( 5. 16 0 ) = 112 + 5 = 117 3

İkilik Sistemde İşaretli Sayılar C dilinde değişkenler işaretli veya işaretsiz olabilir. 8 bitlik bir sayı düşünelim. Eğer sayı işaretli ise en soldaki biti işaret bitidir. İşaret bitinin 1 olması sayının negatif olduğunu, 0 olması pozitif olduğunu gösterir.

İkilik Sistemde İşaretli Sayılar İşaretli ikilik bir sayıyı onluk düzene çevirmek için: ( a 7 a 6 a 5 a 4 a 3 a 2 a 1 a 0 ) 2 = ( a 7. -2 7 ) + ( a 6. 2 6 ) +... + ( a 1. 2 1 ) + ( a 0. 2 0 ) (1011 1011 ) 2 = -69 (eğer sayı işaretli ise) (1011 1011 ) 2 = 187 (eğer sayı işaretsiz ise) (1100 1101 ) 2 = -51 (eğer sayı işaretli ise) (1100 1101 ) 2 = 205 (eğer sayı işaretsiz ise) (0110 1101 ) 2 = 109 (eğer sayı işaretli ise) (0110 1101 ) 2 = 109 (eğer sayı işaretsiz ise)

Bit İşlem Operatörleri C dilinden bit seviyesindeki işlemler bit işlem operatörleri ile gerçekleştirilir. 8 bit 1 bayt oluşturmak üzere bir araya gelerek dijital donanım sistemlerinde erişilebilen en küçük veri formunu oluştururlar. Her bit 1 veya 0 değerini alır. 6

Bit İşlem Operatörleri Sembol Operator & Bitwise AND Bitwise Inclusive OR ^ Bitwise Exclusive OR << Sola kaydır >> Sağa kaydır ~ Bire tümleyen 7

Bit işlem AND & AND bit işlem operatörünün simgesi ampersand: &. Bit işlem AND operatörü AND operatörünün yaptığı işi ikilik sistemdeki iki sayının bitleri arasında gerçekleştirir. Girişlerden her hangi birinin 0 olması sonucun 0 olmasına sebep olur. 11001110 & 10011000 = 10001000 5 & 3 = 1 ( 101 & 011 = 001) 8

Bit işlem OR Bit işlem OR, bit işlem AND ile aynı şekilde çalışır. Girişlerden herhangi birisi 1 ise çıkış 1 olur. Her iki girişte 0 ise çıkış 0 olur. Sembolü ' ' 11001110 10011000 = 11011110 5 3 = 7 (101 011 = 111) 9

Bit işlem Exclusive OR ^ Bit işlem XOR mantıksal XOR işlemi gerçekleştirir. İki bitin toplamında elde var ise onun çıkarılmasını sağlar. Girişler farklı ise çıkış 1, aynı ise çıkış 0 dır. XOR bazen bitleri 1 ile 0 arasında sürekli değiştirmek için kullanılır. i = i ^ 1 işlemi bir döngü içinde kullanılırsa değerini 1 ile 0 arasında değiştirir. 5 ^ 3 = 6 ( 101 ^ 011 = 110 ) 10

Bit işlem operatörleri bit a bit b a & b (a AND b) a b (a OR b) a ^ b (a XOR b) 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 1 1 1 1 0 11

Sağa Kaydırma >> Sağa kaydırma sembolü: >> Çalışması için iki operanda ihtiyaç duyar. Soldaki operandın tüm bitlerini sağdaki operandın değeri kadar sağa kaydırır. number >> 3 işlemi number sayısının tüm bitlerini 3 kez sağa kaydırır. En solda oluşan yeni boşluklar sıfırlar ile doldurulur. Bir sayıyı sağa kaydırmak onu ikiye bölmek demektir. 10 >> 1 = 5 (1010) >> 1 = (0101) 12

Sağa Kaydırma >> Eğer sayı işaretli ise, işaret genişletme kuralı uygulanır. İşaret genişletmede sayının sağa kaydırılması sonucu solda oluşacak boşlukların sayının en solundaki bitin değeriyle doldurulmasıdır. Bu örnek orijinal sayının en soldaki biti 1 olduğundan sağa kaydırma sonucu oluşan boşluklar 1 ile doldurulmuştur. 13

Sola Kaydırma << Sola kaydırmanın sembolü: << Sayının bitlerini sola kaydırır. Sağa kaydırma operatörünün tersi işlem yapar. En sağda oluşan yeni boşluklar sıfırlar ile doldurulur. Sola kaydırma bir sayının iki ile çarpılmasıdır. 5 << 1 = 10 (101) << 1 = (1010) 14

~ Birin Tümleyeni Birin tümleyeni (~) bir sayının tümleyenini verir. Bir sayının tüm bitleri ters çevrilir. Her bit için bit değeri 1 ise 0, 0 ise 1 yapılır. ~ 5 = 2 (~ 101 = 010) 15

Bit işlem Operatörlerinin Kullanımı Bit işlem operatörlerini öğrendik, ancak bu operatörleri kod yazarken nasıl kullanabiliriz? OR operatörü bitlerin birleşimidir. İki sayının 1 olan bitlerini birleştirir.

Bit işlem Operatörlerinin Kullanımı AND operatörü bitlerin kesişimidir. İki sayıda da 1 olan bitleri 1 yapar. Bu örnekte iki sayıda da 1 olan bit yoktur ve sonuç tüm bitler için 0 çıkar.

Bit işlem Operatörlerinin Kullanımı OR operatörü bir sayının istenen bitlerini 1 yapmak için kullanılabilir. Önce : 00000000111111110000000011111111 1 yapılacak bitler : 00010000000000000001000000000000 Sonra : 00010000111111110001000011111111 AND operatörü bir sayının herhangi bir bitinin 1 olup olmadığını kontrol etmek için kullanılabilir. 00000111010110111100110100010101 00000000000000010000000000000000 Maske

Örnek: Klavye Kodları Bilgisayar klavyesinin durumunu gösteren 8 bitlik bir sayı hafızadan okunmuş olsun. Her bitin anlamı: Bit Durum 0 Sağ shift basılı mı 1 Sol shift basılı mı 2 Ctrl basılı mıpressed/not 3 Alt basılı mı 4 Scroll on/off 5 Num Lock on/off 6 Caps Lock On/off 19

Örnek: Klavye Kodları Numlock tuşunun aktif olup olmadığının anlaşılabilmesi için klavye bilgisini tutan sayının 6. biti kontrol edilmelidir. Bunun için klavye bilgisini tutan sayı, 6. biti 1 olan ve diğer bitleri 0 olan bir sayı ile (32 sayısı) AND işlemine tabi tutulmalıdır. Örneğin klavye bilgisi 01101011 olsun, 01101011 & 00100000 Mask Klavye bilgisinin 6. biti 1 olduğundan sonuç sıfırdan farklı bir sayı çıkacaktır. Sonucun 0 olması kontrol edilen bitin 0 olduğu diğer durumda 1 olduğu anlamına gelir. 20

Örnek: Ipv4 Adresi IPv4 adresi ağ paketlerinden taşınan 32 bitlik bir sayıdır. Sayının her 8 biti ip numarasının birbirinden nokta ile ayrılmış segmentini oluşturur. Örneğin: 192.168.1.2 olarak verilen ip numarası hexadecimal sistemde 0xc0a80102 olur. 32 bitlik ip adresi okuyup onu bizim anlayacağımız şekilde bir ip adresine dönüştüren programın kodunu nasıl yazabiliriz?

Örnek: Ipv4 Adresi Bunun için 32 bitlik ip adresinin her 8 bitini uygun bir maske ile AND işleminden geçirerek almalıyız. Örneğin ip adresinin en düşük 8 bitini almak istiyorsak kullanmamız gereken maske 0x000000ff olmalıdır. Bu maske sayının ilk 8 bitini koruyacaktır.

Örnek: Ipv4 Adresi Eğer sayıdan korunarak alınan bitleri sayının ilk 8 biti değilse bu bitleri en sağdaki 8 bite kaydırmalıyız. Value : 11000000101010000000000100000010 c0a80102 3232235778 Mask : 11111111000000000000000000000000 ff000000 4278190080 Result : 11000000000000000000000000000000 c0000000 3221225472 Sayının en solundan korunarak alınan 8 bitin değeri 3221225472 dir. Bu sayı bizim istediğimiz 192 değildir. Çünkü elde edilen ikilik sayı en düşük 8 bitte değildir. Bunun için elde edilen sonucu 24 bit sağa kaydırmalıyız. (>> 24) Value : 11000000101010000000000100000010 c0a80102 3232235778 Mask : 11111111000000000000000000000000 ff000000 4278190080 Result : 00000000000000000000000011000000 c0000000 192

Örnek: Ipv4 Adresi

İkilik Toplama 25

26

27

28

29

Kaynaklar Doç. Dr. Fahri Vatansever, Algoritma Geliştirme ve Programlamaya Giriş, Seçkin Yayıncılık, 12. Baskı, 2015. J. G. Brookshear, Computer Science: An Overview 10th Ed., Addison Wisley, 2009. Kaan Aslan, A dan Z ye C Klavuzu 8. Basım, Pusula Yayıncılık, 2002. Paul J. Deitel, C How to Program, Harvey Deitel. google.com for all images. 30