• Sonuç bulunamadı

Digital Numbering Systems. Dr. Cahit Karakuş, February-2019

N/A
N/A
Protected

Academic year: 2022

Share "Digital Numbering Systems. Dr. Cahit Karakuş, February-2019"

Copied!
93
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

“ Digital Numbering Systems ”

Dr. Cahit Karakuş, February-2019

(2)

Common Powers

(3)

3

Data Yapıları

(4)

Number systems

• Number systems

– Decimal – Binary – Bits – bytes

– Hexadecimal – Octal

– Numbers conversion among different systems

• Ascii code

(5)

Number systems

• Number systems

– Decimal: Tam sayı, kesirli (rasyonel) sayılar, Payı ve paydası birer tam sayı olan bir kesir olarak ifade edilemeyen irrasyonel sayılar: π, 2

– Karakter – Binary, Bits – bytes

– Hexadecimal

– Numbers conversion among different systems

• Ascii code

(6)

Classification of data structures

(7)

Veri yapıları

Programlama dillerinin çoğunda bulunan temel veri değerlerini temsil etmek için kullanılır. Örnek: Tam sayı, karakter, dizi, Boole

Birincil veri yapısından türetilen veri türleri, değer grubunu depolamak

için kullanılır. Örnek: Diziler, Yapı, Birleşim, bağlantılı liste, Yığınlar, Kuyruk

vb.

(8)

Doğrusal Veri Yapıları

Doğrusal veri yapısı, elemanlar sıralı olarak saklanır.

Dizi: Ardışık bellek konumunda depolanan aynı veri türündeki verilerin bir koleksiyonudur ve ortak adla anılır

Bağlantılı liste: Aynı veri tipindeki verilerin bir koleksiyonudur, ancak veri öğelerinin ardışık bellek konumlarında depolanması gerekmez.

Yığın: Ekleme ve silme işleminin yığının tepesi adı verilen yalnızca bir uçta gerçekleştiği Son Giren İlk Çıkar doğrusal veri yapısıdır.

Kuyruk: Arka olarak adlandırılan bir uçta eklemelerin ve silmelerin Ön adı verilen bir uçta yer aldığı İlk Giren İlk Çıkar Doğrusal veri yapısıdır.

(9)

Doğrusal Olmayan Veri Yapısı

Öğeler, veriler arasındaki hiyerarşik ilişkiye göre saklanır. Aşağıdakiler Doğrusal Olmayan veri yapılarıdır:

• Ağaçlar, veri öğeleri arasında hiyerarşik bir ilişki olan verileri temsil etmek için kullanılır.

• Grafik, doğası gereği hiyerarşik olması gerekmeyen öğe çifti arasında ilişki olan verileri temsil etmek için kullanılır. Örneğin elektrik ve iletişim ağları, havayolu güzergahları, akış şeması, planlama projeleri için grafikler.

(10)

Veri yapısı üzerinde işlem

Ekleme: Veri yapısına yeni öğe ekleme

Silme: Veri yapısından veri kaldırılmasıdır

Arama: Verilen bir veri yapısı içindeki bir verinin yerini bulmaktır.

Sıralama: Verilerin mantıksal bir sırayla düzenlenmesidir.

Geçiş: Bir veri yapısı, her veriye yalnızca bir kez erişmektedir.

Birleştirme: İki benzer veri yapısının birleştirilmesidir.

(11)

Array

Linked List

Tree

Queue

Stack

Veri yapılarının türleri

(12)

Aritmetik İşlemler

Algoritma aşamalarında aritmetik işlemler programlama koduna uygun olmalıdır. Bilgisayar organizasyonu ile uyumlu olmadı. Özellikle fetch, execute, decoding döngüsünün iyi bilinmesi gerekir.

Aritmetiksel Operatörler

İşleç Adı Örnek Açıklama

+ Toplama C=A+B A ve B sayılarını toplar ve sonucu C ye aktarır.

- Çıkarma C=A-B A sayısından B yi çıkarır ve sonucu C ye aktarır.

* Çarpma C=A x B A ve B sayılarını çarpar ve sonucu C ye aktarır.

/ Bölme C=A / B A sayısını B sayısına böler ve sonucu C ye aktarır.

% Mod C=A % B A sayısını B sayısına böler ve kalanı C ye aktarır.

= Atama C=A+B A ve B sayılarını toplar ve sonucu C ye aktarır.

(13)

Mantıksal İşlemler

Bir algoritma akışı içerisinde, belirli bir koşula bağlı olarak akışın hangi yönde ilerleyeceğine karar vermede mantıksal operatörler kullanılır. Bu operatörler karşılaştırma işlemlerinde kullanıldıklarında sonuç olarak sadece true(doğru) ya da false(yanlış) değerleri üretilir.

İşleç Adı Örnek Açıklama

> Büyük A > B A değişkeni B değişkeninden büyükse true, değilse false değeri üretir..

< Küçük A < B A değişkeni B değişkeninden küçükse true, değilse false değeri üretir..

== Eşit A == B A değişkeni B değişkeninden eşitse true, değilse false değeri üretir..

!= Eşit Değil (Farklı) A != B A değişkeni B değişkeninden eşit değilse true, değilse false değeri üretir..

>= Büyük eşit A >= B A değişkeni B değişkeninden büyük ya da eşitse true, değilse false değeri üretir..

<= Küçük eşit A <= B A değişkeni B değişkeninden küçük ya da eşitse true, değilse false değeri üretir..

(14)

Bilgisayar ve Bilgi

• Bir Bilgisayar girdi işlemlerini alır, depolanan talimatlara göre çıktı olarak sonuç üretir.

• Giriş: Veri

• Talimatlar: Yazılım, Programlar

• Yazılım ve programları kim hazırlar?

• Çıktı: Bilgi (sayılar, kelimeler, sesler, görüntüler).

(15)

Sembol - Veri – Bilgi – Yetenek - Bilgelik Data – Information – Knowledge - Wisdom

• Semboller (Sinyaller, Resimler, Şekiller, ...): Giriş aşamasında bilgisayarın belleğine aktarılan rakamlar ve semboller, rakamlar, kelimeler, görüntüler, video ve ses gibi bilgi parçacıklarıdır.

• Veri, anlam kazanmamış, ilişkilendirilmemis, özümlenmemiş, işlenmemiş gerçekler ya da bilgi

parçacıklarıdır. Herhangi bir içerikten yoksun formlardadırlar. Bazen fiziksel bir olaydır, yorumlanmamış gözlemlerdir. Yorum taşımazlar ancak işlenmek için hazırdırlar. Karar vermede etkili değillerdir.

• Enformasyon ise rassal bir olayın gerçeklesmesine ilişkin bir bilgi ölçütüdür.

• Dedikodu nedir?

• Information ( Bilgi ) : Cevaplanması gereken ne, kim, ne zaman, nerede sorulardır. Bilgi, işlenmiş, düzenlenmiş, anlamlandırılmış verilerdir. Bilgi, organize, anlamlı ve yararlı verilerdir. Çıktı aşaması

sırasında, oluşturulan bilgiler basılı rapor, garfik ve görseller ile sunum formuna sokulur. Bilgiler ileride kullanılmak üzere bilgisayar saklanır.

• Knowledge ( irfan sahibi, Yetenek - Tecrübe, Deneyim ): Karar vermede, kestirim yapmada, doğruyu aramada performansı yükseltmektir.

• Understand (Bilinçlenmek): anlayarak, kavrayarak, hissederek bilinçlenmektir.

• Wisdom ( Bilgelik ): Herkesin ulaşamadığı, derin, kapsamlı, bütünsel bilgi.

(16)
(17)

Digital Systems

17

DIGITAL CIRCUITS

(18)

Kodlar

• Veri ve bilgiler ikili sayı sisteminde elektrik sinyaller ile temsil edilen kodlardır.

• Yakın gelecekte veri ve bilgiler ikili sayı sisteminde elektronlar ve fotonlar ile temsil edilen kodlar olacaktır.

• Kod, bir simge kümesini temsil eden, Mors kodundaki noktalar ve çizgiler gibi bir dizi semboldür.

– Alfabenin harfleri gibi,

– Veya tamsayılar veya gerçek sayılar, – Veya bir görüntüdeki renk,

– Bir keman tonu için

(19)

Devre

• Bir devre, bir işlevi yerine getiren birbirine bağlı bir elektronik bileşen kümesidir.

• Entegre Devreler (IC'ler): Çip denilen küçük silikon parçaları

üzerine inşa edilmiş binlerce devrenin kombinasyonları

(20)

Tanımlar

• Analog sürekli değerlere sahiptir.

• Dijital, ayrık miktarlarla ilgilidir; bir dizi ayrık değerler içerir.

• İkili'nin (Binary) iki değeri veya durumu vardır; iki temelli bir sayı sistemini ve basamak olarak 1 ve 0'ı kullanan bir sayı sistemini

tanımlar.

• Bit, 1 veya 0 olabilen ikili bir rakamdır.

• Pulse, bir seviyeden diğerine ani bir değişikliktir, ardından darbe

genişliği adı verilen bir süre sonra orijinal seviyeye ani bir değişiklik

olur.

(21)

– Bir analog sinyal çok sayıda farklı frekanslardan oluşan sinusoidal sinyallerin birleşiminden oluşur.

– Bandwidth: width of the frequency range of signal (Hz).

– Human voice: 100 ~ 3300 Hz, bandwidth 3200, twisted pair: 4kHz.

– Capacity: memory capacity (byte) – Capacity: rate in bits per second

• Baud rate = how many symbols per second

• Bit rate = number of bits per sembol symbol * Baud rate

• How to determine the number of bits per symbol?

– Number of bits/symbol (Bir semboldeki bit sayısı)= log2(number of symbols)

• Eight voltage outputs, how many bits per symbol? (3 bit per sembol) 8=23

Bandwidth & Capacity

(22)

Symbol rate

– Symbol rate in symbols per second = (Data rate in bits per second × 204) / (188 × bits per symbol).

– The 204 is the number of bytes in a packet including the 16 trailing Reed-Solomon error checking and correction bytes. The 188 is the number of data bytes (187 bytes) plus the leading packet sync byte (0x47).

– The bits per symbol is the (modulation's power of 2) × (Forward Error Correction).

– So for example, in 64-QAM modulation 64 = 2^6 so the bits per symbol is 6. The Forward Error Correction (FEC) is usually expressed as a fraction; i.e., 1/2, 3/4, etc. In the case of 3/4 FEC, for every 3 bits of data, you are sending out 4 bits, one of which is for error correction.

Example:

– given bit rate = 18096263 – Modulation type = 64-QAM – FEC = ¾

(23)

Bit Rate / Baud Rate

– Bit rate is the number of bits per second. Baud rate is the number of signal units per second. Baud rate is less than or equal to the bit rate.

– Bit rate is important in computer efficiency

Baud Rate: Data iletiminde modülatör çıkışında bir saniyede meydana gelen sembol (baud) değişikliğine baud hızı denir. Baud hızı baud/sn ile gösterilir. Baud hızı sinyalin anahtarlama hızını gösterir.

Örnek: Bir veri iletim hattının iletim hızı 4800 baud/sn olsun. Bu iletim her baud 4 bitle kodlanmış bilgi içeriyorsa bps olarak hızımız 4800*4=19200 bps olur. Baud Rate’i kullanmadaki amaç band genişliğini daha verimli kullanmak.

– Baud rate is important in data transmission. Baud rate determines the bandwidth required to send signal – Baud rate = bit rate / # bits per signal unit

– An analog signal carries 4 bits in each signal unit. If 1000 signal units are sent per second, find the baud rate and the bit rate

• Baud rate = 1000 bauds per second (baud/s)

• Bit rate = 1000 x 4 = 4000 bps

– The bit rate of a signal is 3000. If each signal unit carries 6 bits, what is the baud rate?

• Baud rate = 3000/6 =500 bauds/sec

(24)

Example

/ 230 = In the lab…

1. Double click on My Computer 2. Right click on C:

3. Click on Properties

(25)

Multiplying powers

• For common bases, add powers

2

6

 2

10

= 2

16

= 65,536 or…

2

6

 2

10

= 64  2

10

= 64k

a

b

 a

c

= a

b+c

(26)

26

• Bilgisayar güçleri genellikler üç birim ile ölçülür: RAM kapasitesi, data boyutu ve işlemci hızı.

• RAM Kapasitesi. Günümüzde ana bilgisayarların ve süper bilgisayarların bellekleri GB ve hatta TB seviyesindedir.

• İşlemci kapasitesi, saklayıcılarda(register) saklanabilen ve bir defada işlenebilen ve merkezi işlem birimi, bellek ve saklayıcıları birbirine bağlayan iç (yerel) sistem bus’daki veri yolu üzerinden bir defada gönderilebilen bit sayısıdır. 32 bit bir bilgisayar bir defada 32/8=4 byte işleyebilir. Bu da, 32 bit bilgisayarın 8 bit bilgisayardan yaklaşık 4 kat daha hızlı olması anlamına gelir.

• İşlemci Hızı; Transistörlerin saniyede milyonlarca ve hatta milyarlarca kez açılıp kapanması dolayısıyla, makine çevrimi tekrarları baş döndürücü bir hızla gerçekleşir.

• Her bilgisayarın bir sistem clock sinyali vardır. Clock sinyali 1 ve 0 lardan olluşan darve katarıdır. Bit olarak tanımlanan veriyi tetiklemede kullanılır. Kişisel bilgisayar hızları genellikle gigahertz (GHz) cinsinden ifade edilir. Bir komut çevrimi, işlenen komutların karmaşıklığına göre bir kaç clock

çevriminde tamamlanır. Çevrim: Fetch, Execute ve adres decoding yapısından oluşur.

• Komut işleme hızları, günümüzde milyonlar düzeyinde olan, saniyede işlenen komut sayısına göre de ölçülebilir. MIPS (Millions of Instructions Per Second – saniyedeki milyon komut sayısı) bilgisayar işleme hız ölçüsüdür. Günümüz ana bilgisayarlar 10000 ve üstünde MIPs hızlarında çalışmaktadır.

Computer Units

(27)

BER

BER: Bit Error Rate (Bit Hata Oranı): Sayısal bilgi iletiminde gönderilen veri içindeki bozulan ya da yanlış algılanan bit oranını ifade eder.

BER=Gönderilen hatalı Bit Sayısı / Gönderilen Toplam Bit Sayı.

Örnek: BER=10^-6 olduğuna göre 1 milyon bit gönderildiğinde kaç bit hatalı gitmiş olur?

BER=10^-6=1/10^6= Gönderilin hatalı Bit Sayısı / Gönderilen Toplam Bit Sayı 1milyon bitte 1 bit hatalı gitmiştir.

Örnek: 512 000 000 bit gönderildiğinde 16 bit hata meydana geliyorsa bit-error oranı nedir?

BER=Gönderilen Hatalı Bit Sayısı / Gönderilen Toplam Bit Sayı, BER=16/512 000 000=3,125 x 10-8

Bit Errors; Single bit, Multiple bit, Burst

(28)

10 Tabanında Logaritma

• Log1=0, Log 2 ≈ 0.3, Log 3 ≈ 0.5, Log 5 ≈ 0.7, Log 7 ≈ 0.8, Log10=1

• log(a*b)=loga + logb; loga

n

=n*loga

• 10Log(420)=

10Log(10x7x2x3)=10Log(10) + 10Log(7) + 10Log(3) + 10Log(2)

= 10 + 8 + 5 + 3 = 26

• 10Log(75)=10Log(3*52)= 10Log(3) + 10Log(52) = 5 + 20log(5) =5+14=19

• PdBW=10log(PW);

• PdBm=10log(PmW); 1W=103 mW. 1mW=10-3 Watt

• KdB=10log(Po/Pi); Po:çıkış gücü(w), Pi: giriş gücü(W).

• Bir sistemin güç çıkışı 1 watt'tır. Giriş gücü 8 watt. Güç kazancını logaritmik değer olarak hesaplayınız? Bu güç kazancı kazanç mı yoksa kayıp mı?

– K=10log(1/8)=10Log(1)-10Log(23)=0-30Log2=-9dB. Kayıptır çünkü, K<0.

(29)

Cahange of logaritmic base

log log

log

a b

a

x x

b

– In particular, if we put x = a, then loga a = 1, and this formula becomes:

– 𝐿𝑜𝑔2x = 𝐿𝑜𝑔10x

𝐿𝑜𝑔102 = 𝐿𝑜𝑔10x

0.3

– Örnek x=256 ise 𝐿𝑜𝑔2256= 8𝐿𝑜𝑔22=8 – Örnek x=256 ise 𝐿𝑜𝑔2256= 8𝐿𝑜𝑔102

0.3 = 80.3

0.3=8 – Örnek x=540 ise 𝐿𝑜𝑔2540 = 𝐿𝑜𝑔10(33 ∗2∗10)

0.3 = 3∗0.5+0.3+1

0.3 = 28

3

log 1

b log

a

ab

(30)

Binary

30

(31)

Bit

• Bit, bilgisayarlarda kullanılan bilgi ve hesaplamanın temel kavramıdır, temel taşıdır. Bitler 0 ve 1 lerden oluşur. Birer

matematiksel nesnedirler, ve birer fiziksel durumlara karşılık gelirler.

• Bir bit(0/1) bilginin temel birimidir. Bit bilgisayarlar ile bilginin temsil edilmesinde kullanılır. Fiziksel gerçekleştirilmesi ne olursa olsun, bir bit her zaman, bir 0 ya da bir 1 olduğu anlaşılmaktadır.

Buna bir benzetme, bir lamba anahtarı ile 0 temsil kapalı konuma

ve 1 açık konumda olduğudur.

(32)

32

Why Binary Arithmetic?

• Hardware can only deal with binary digits, 0 and 1.

• Must represent all numbers, integers or floating point, positive or negative, by binary digits, called bits.

• Can devise electronic circuits to perform arithmetic operations:

add, subtract, multiply and divide, on binary numbers.

(33)

Why Binary Arithmetic?

33

3 + 5

0011 + 0101

= 8

= 1000

(34)

Binary

• In Computer Systems we concentrate on binary (base 2) – Why?

• Because digital components (from which the computer is built) can be in one of two states : on or off

• We use 1 and 0 to represent these two states

– We want to develop a method for representing information in binary

• numbers (positive, negative, integer, floating point, fraction), strings of characters, booleans, images, sounds, programming instructions

– For unsigned integer values, we can store them directly using binary

• we convert from one to the other using the conversion algorithms on the previous slide where base = 2

• BIT is a unit of information equivalent to the result of a choice between only 2 possible alternatives in the binary number system.

• BYTE is a sequence of 8 bits (enough to represent one character of alphanumeric data) processed as a single unit for information.

(35)

Binary Signal - Bit

Binary signal (two state signal):

– Data with two states – off & on

– electrical signals: low voltage & high voltage; 0v & 5v

Bit:

– Single Binary Digit can have value 0 or 1, and nothing else

– A bit is the smallest possible unit of information in a computer

0.0V 0.5V 2.8V 3.3V

0 1 0

(36)

Byte

Byte: Bellek boyutunu hesaplanırken ya da veri tipini tanımlada kullanılır. Elektronik ve bilgisayar bilimlerinde genellikle 8 bitlik dizilim boyunca 1 veya 0 değerlerini bünyesine alan ve kaydedilen bilgilerin türünden bağımsız bir bellek ölçüm birimidir. Belleğin 8 bitlik bir değerini işaretleyen ya da tanımlayan en küçük birimi olarak tanımlanmıştır..

Kilobyte Kb 210 Byte Megabyte Mb 220 Byte Gigabyte Gb 230 Byte Terabyte Tb 240 Byte Petabyte Pb 250 Byte Exabyte Eb 260 Byte Zettabyte Zb 270 Byte Yottabyte Yb 280 Byte

36

(37)

Örnekler

16Gbyte kaç byte’dır?

• 16Gyte=24 230 = 234 byte

16Gbyte kaç Kbyte’dır?

• 16Gyte=24 220 = 224 Kbyte

16Gbyte kaç Mbyte’dır?

• 16Gyte=24 210 = 214 Mbyte

128Mbyte kaç byte’dır?

• 128Myte=27 220 = 227 byte

4Kbyte kaç byte’dır?

• 4Kyte=22 210 = 212 byte

32Tbyte kaç byte’dır?

• 32Tyte=25 240 = 245 byte

8Pbyte kaç Mbyte’dır?

• 8Pyte=23 250 = 253 byte

256Mbyte kaç byte’dır?

• 256Myte=28 220 = 228 byte

(38)

Multipliers for Measuring Bytes

• Kilobyte (K) 210 = 1,024 bytes

• Megabyte (M) 220 = 1,048,576 bytes

• Gigabyte (G) 230 = 1,073,741,824 bytes

• Terabytes (T) 240 = 1,099,511,627,776 bytes

• Petabytes (P) 250 = 1,125,899,906,842,624 bytes

• Exabytes (E) 260 = 1,152,921,504,606,846,976 bytes

• Zettabytes (Z) 270 = 1,180,591,620,717,411,303,424 bytes

• Yottabytes (Y) 280 = 1,208,925,819,614,629,174,706,176 bytes

Byte: Bellek boyutunu hesaplanırken ya da veri tipini tanımlada kullanılır. Elektronik ve bilgisayar

bilimlerinde genellikle 8 bitlik dizilim boyunca 1 veya 0 değerlerini bünyesine alan ve kaydedilen bilgilerin türünden bağımsız bir bellek ölçüm birimidir. Belleğin 8 bitlik bir değerini işaretleyen ya da tanımlayan en küçük birimi olarak tanımlanmıştır..

(39)

Bits and Bytes are Slightly Different

When Referring to Bytes (as in computer memory) – Kilobyte (KB) 210 = 1,024 bytes

– Megabyte (MB) 220 = 1,048,576 bytes – Gigabyte (GB) 230 = 1,073,741,824 bytes – Terabyte (TB) 240 = 1,099,511,627,776 bytes

When Referring to Bits Per Second (as in transmission rates) – Kilobit per second (Kbps) = 1000 bps (thousand)

– Megabit per second (Mbps) = 1,000,000 bps (million) – Gigabit per second (Gbps) = 1,000,000,000 bps (billion) – Terabit per second (Tbps) = 1,000,000,000,000 bps (trillion)

“Kilo” or “Mega” have slightly different values when used with bits per second or with bytes.

(40)

Bit, Bit/San

Bit: Dijital elektronikte ve binary sayı sisteminde sadece 0 ve 1 değerleri vardır. Tüm işlemler bu iki değer üzerinden yapılır. 0 ya da 1 bilgisinin her birine bit denir. Bit→0/1 den oluşan bilgi

Bits are the units used to describe an amount of data in a network – 1 kilobit (Kbit) = 1 x 103 bits = 1,000 bits

– 1 megabit (Mbit) = 1 x 106 bits = 1,000,000 bits – 1 gigabit (Gbit) = 1 x 109 bits = 1,000,000,000 bits

Bit/Saniye: Bit/sec→1 sn. ye de bir noktadan diğer noktaya iletilen bilgi. Ya da bir saniyede işlen bit yani bilgi miktarıdır. BPS (Bit Per Second);

Saniyede iletilen bit sayısına bps denir.

Seconds are the units used to measure time

– 1 millisecond (msec) = 1 x 10-3 seconds = 0.001 seconds – 1 microsecond (msec) = 1 x 10-6 seconds = 0.000001 seconds – 1 nanosecond (nsec) = 1 x 10-9 seconds = 0.000000001 seconds

Bits per second are the units used to measure channel capacity/bandwidth and throughput – bit per second (bps)

– kilobits per second (Kbps) – megabits per second (Mbps)

40

(41)

Conversion

41

(42)

42

Binary Number System

• Base 2

• Two Digits: 0, 1

• Example: 1010110

2

• Positional Number System

• Binary Digits are called Bits

• Bit b

o

is the least significant bit (LSB).

• Bit b

n-1

is the most significant bit (MSB).

1 4 3 2 1 0

1 4 3 2 1 0

2

n

2 2 2 2 2 b

n

b b b b b

(43)

Binary Sayıların Decimal Sayılara Dönüştürülmesi:

• (100011)2= 25 + 21+20=32+2+1=(35)10=(23)h

• Ondalıklı Binary Sayıların Decimal Sayılara Dönüştürülmesi: (111,101 )2 = 22+21+20+2-1+2-3=4+2+1+1/2+1/8=7,625

• Decimal Sayıların Binary Sayılara Çevrilmesi: (172)10=(128+32+8+4)10=(27+25+23+22)10=(1010 1100)2=(AC)16

• Ondalıklı Decimal Sayıların Binary Sayılara Dönüştürülmesi

• (10, 75)10=? (10)10=(23+21)10=(1010)2 , 2-1=1/2=0,5 2-2=1/4=0,25 , (10, 75)10=(1010,11)2

(44)

44

A 4-bit binary number

Binary number: 0110 = (0x8)+(1x4)+(1x2)+(0x1)=6 Binary number: 1101 = 8+4+1=13

Least Significant Bit LSB

233

b222 b211 b200 b

2

3

(b

3

)

2

2

(b

2

)

2

1

(b

1

)

2

0

(b

0

)

8 4 2 1

MSB

Most Significant Bit

(45)

Binary and Decimal Conversion

(46)

Converting Binary to Decimal

Binary number system is base 2

0, 1

Uses 2 numbers

10010001 = 145

Base 2 representation

2

7

2

6

2

5

2

4

2

3

2

2

2

1

2

0

Decimal representation

128 64 32 16 8 4 2 1

Base 2 representation

1 0 0 1 0 0 0 1

(47)

Binary to Decimal

• Technique

– Multiply each bit by 2n, where n is the

“weight” of the bit

– The weight is the position of the bit, starting from 0 on the right

– Add the results

1010112 => 1 x 20 = 1 1 x 21 = 2 0 x 22 = 0 1 x 23 = 8 0 x 24 = 0 1 x 25 = 32

4310

Decimal Sayıların Binary Sayılara Çevrilmesi:

(172)

10

=(128+32+8+4)

10

=(2

7

+2

5

+2

3

+2

2

)

10

=(1010 1100)

2

=(AC)

16

(48)

Binary to Decimal

(49)

Decimal to Binary

• Technique

– Divide by two, keep track of the remainder

– First remainder is bit 0 (LSB, least-significant bit) – Second remainder is bit 1

– Etc.

12510 = ?2 12510 = 11111012

(50)

Bilgisayar sistemlerinde 2 üzeri indeksleme 0,1,2,3,.. Biçimindedir.

İndeksleme sağdan başlar.

(51)
(52)

Binary/Hexidecimal

Decimal Binary Hexidecimal

0 0000 0

1 0001 1

2 0010 2

3 0011 3

4 0100 4

5 0101 5

6 0110 6

7 0111 7

8 1000 8

9 1001 9

10 1010 A

11 1011 B

12 1100 C

13 1101 D

14 1110 E

15 1111 F

Conversions:

1000 1110 (binary) 8 E (hex)

Notations for hex:

• 0x8E

• 8Eh

• 8E16

(53)

Binary – Hexa Numbering System

• Short-hand for all these 1s and 0s

• HEX notation

• Each group of 4 bits represents a number in the range 0 – 15

• Hex is used as a notation for any sequence of bits (e.g. ASCII

characters require just two hex

digits)

(54)

Binary to Hexadecimal

• Technique

– Group bits in fours, starting on right – Convert to hexadecimal digits

10101110112 = ?16

10 1011 1011

2 B B1010111011 2 = 2BB16

Örnek: (100011)

2

= 2

5

+ 2

1

+2

0

=32+2+1=(35)

10

=(23)

16

(55)

Hexadecimal to Binary

• Technique

– Convert each hexadecimal digit to a 4-bit equivalent binary representation

10AF16 = ?2 1 0 A F

0001 0000 1010 1111

10AF16 = 00010000101011112

(56)

Decimal to Binary to Hexadecimal

• Technique

– Divide by 16

– Keep track of the remainder

123410 = ?16 16 1234

77 2 16

4 13 = D 16

0 4

123410 = 4D216

(57)

Hexadecimal to Binary to Decimal

• Technique

– Multiply each bit by 16

n

, where n is the “weight” of the bit

– The weight is the position of the bit, starting from 0 on the right – Add the results

ABC16 => C x 160 = 12 x 1 = 12 B x 161 = 11 x 16 = 176

A x 162 = 10 x 256 = 2560

274810

(58)

Octal to Binary

• Technique

– Convert each octal digit to a 3-bit equivalent binary representation

7058 = ?2

7 0 5

111 000 101

7058 = 1110001012

(59)

Binary to Octal

• Technique

– Group bits in threes, starting on right – Convert to octal digits

10110101112 = ?8 1 011 010 111 1 3 2 7

10110101112 = 13278

(60)

Octal to Hexadecimal

• Technique

– Use binary as an intermediary

10768 = ?16 1 0 7 6

001 000 111 110

2 3 E

10768 = 23E16

(61)

Hexadecimal to Octal

• Technique

– Use binary as an intermediary

1F0C16 = ?8

1 F 0 C

0001 1111 0000 1100

1 7 4 1 4

1F0C16 = 174148

(62)

Variable Declaration

62

(63)

DATA SIZE

Nibble 4 bit

Byte 8 bit

Word 16 bit

Long word 32 bit

63

(64)

Data Types - size

7 0

Byte

Low Byte

7 0

High Word

Byte

15 8

Low Word

15 0

Double Word

High Word

31 16

Low Double Word

31 0

Quad Word

High Double Word

63 32

Low Quad Word

0 Double Quad Word 63

High Quad Word

64 127

Always take care of the type of data an instruction accesses!!!!

(65)

65

Intrinsic data types

• BYTE, SBYTE

– 8-bit unsigned integer; 8-bit signed integer

• WORD, SWORD

– 16-bit unsigned & signed integer

• DWORD, SDWORD

– 32-bit unsigned & signed integer

• QWORD

– 64-bit integer

• TBYTE

– 80-bit integer

(66)
(67)

Değişken tanımında kaç byte? Kaç adet 4 bit?

• Hex: 4 bit tanımlar.

• Örnek:

• DW: 16 bit. 2 byte, 4 adet 4 bit.

(68)

Değişken tanımında kaç byte? Kaç adet 4 bit?

• Hex: 4 bit tanımlar.

• O yüzden 4 bir bir hex sayı sistemi ile

tanımlanır.

• Örnek:

• DW: 16 bit. 2 byte, 4 adet 4 bit.

• I DW 4: (0004)h

(69)
(70)

Binary addition

• Represent sum of binary numbers as a binary number decimal addition binary addition

1+1 = 2 1+1 = 10

1+1+1 = 3 1+1+1 = 10+1 = 11

0 + 0 --- 0

1 + 0 --- 1

0 + 1 --- 1

1 + 1 --- 10

(71)

Adding binary numbers

(72)

Adding binary numbers

(73)

İkili Sayılarda Toplama

A=(1110 1110 0001)2=(3809)10=(EE1)16, B=(1100 0100 0011)2=(3139)10=(C43)16

C=A+B

C=(1 1011 0010 0100)2=(6948)10=(1B24)16

(74)

ASCII Coding

74

(75)

75

Bilgisayarda 0 ve 1'lerle karakterleri ifade etmek için ikili kodlama sistemleri kullanılır.

ASCII, karakterleri göstermek için sekiz bit (bir bayt) kullanır. Yeni geliştirilen Unicode ise karakterleri göstermek için onaltı bit kullanır:

ASCII (American Standard Code for Information Interchange - bilgi değişimi için Amerikan standart kodlaması)

EBCDIC (Extended Binary Coded Decimal Interchange Code - genişletilmiş ikili kodlamalı onluk sistem değiştirme kodlaması): IBM şirketi tarafından ana bilgisayarlarda kullanılmak için geliştirilmiştir.

Unicode: Çince ve Japonca gibi dilleri desteklemek için tasarlanmış onaltı bit kullanan kodlamadır. Bu diller sekiz bit kullanan ASCII ve EBCDIC kodlamaları ile gösterilemeyecek kadar çok sayıda karakter kullanırlar. Unicode kodlaması, IBM, Apple ve Microsoft şirketlerinin desteklediği Unicode şirketi tarafından geliştirilmiştir.

Kodlama Kullanımı

ASCII Kişisel bilgisayarlar EBCDIC Anabilgisayarlar Unicode Uluslararası diller

Klavyede bir tuşa bastığınız zaman, tuşa karşılık gelen karakter, bilgisayarın anlayabileceği bir dizi bite çevirilir. Örneğin, klavyede A harfine basmak bilgisayar bunu (41)h=(01000001)b ASCII koduna çevirir.

Dökümanlar değişik bilgisayarlar veya uygulama programları tarafından paylaşıldığı zaman, aynı kodlama sistemi kullanılmalıdır.

ASCII Coding

(76)

Bits as Codes

• Klavyedeki her tuşun 8 bitlik bir karşılığı vardır.

• İkili Kodlar her harf, rakam ve özel karakteri temsil eder.

• ASCII: Her karakter benzersiz bir 8 bitlik koddur

• AsCII: 26 harf, 10 hane, özel karakterler için 256 benzersiz kod

• Unicode: 100.000'den fazla benzersiz karakteri destekler

76

(77)
(78)
(79)
(80)

Text

• ASCII code (American Standard Committee on Information Interchange)

• A unique 8-bit binary code for each character:

– A-Z, a-z, 1-9, .,¬!”£$$%^&*()_+

– Special unprintable characters such as the ENTER key (CR for

carriage return)

(81)

Fractions

(82)
(83)

Fractions

• We can extend our unsigned representational system of binary to include a decimal point

– After the decimal point, the i exponent, in 2

i

, becomes negative

• So, we now have the ½ column, the ¼ column, etc

– 1011.1001 =

– 1*23 + 0*22 + 1*21 + 1*20 + 1*2-1 + 0*2-2 + 0*2-3 + 1*2-4 = – 8 + 2 + 1 + ½ + 1/16 =

– 11 9/16 = 11.5625

• What is .4304? Use 8-bits with 4 fraction bits

– .4304 has a .25, .125, .03125, .015625, and more fractions, but this exceeds the number of fraction bits so the number is 0000.0110

– But 0000.0110 = .125 + 0.3125 = .375, we have a loss in precision!

• In the fraction representation, our decimal point is typically fixed, so this is often known as fixed point representation

• We will cover a floating point representation later

(84)

Fractions

• Decimal to decimal (just for fun)

3.14 => 4 x 10-2 = 0.04 1 x 10-1 = 0.1

3 x 100 = 3

3.14

• Binary to decimal

10.1011 => 1 x 2-4 = 0.0625 1 x 2-3 = 0.125 0 x 2-2 = 0.0 1 x 2-1 = 0.5 0 x 20 = 0.0 1 x 21 = 2.0

2.6875

(85)
(86)
(87)

Twos Complement Representation

(88)

88

Complements of Binary Numbers

• 2’s complement

• Find 1’s complement and then add 1

1 0 1 0 1 0 1 0

0 1 0 1 0 1 0 1 Input bits

Adder

Output bits (sum)

Carry

In (add 1) 1

0 1 0 1 0 1 1 0 2’s complement

1’s complement

(89)

Negation

• Twos complement operation

– Take the Boolean complement of each bit of the integer (including the sign bit)

– Treating the result as an unsigned binary integer, add 1

The negative of the negative of that number is itself:

+18 = 00010010 (twos complement) bitwise complement = 11101101

+ 1

11101110 = -18

-18 = 11101110 (twos complement) bitwise complement = 00010001

+ 1

00010010 = +18

(90)

Negatif sayılar

• Byte: 8 bit data tanımlar; 8 bitlik bellek gözünü işaret eder.

• Örnek db -4

(4)d= (0000 0100)b

(-4)d= Binary (4) Tersi +1 :

(-4)d =1111 1011 +1 =1111 1100=FC

• Örnek dW -4

(4)d= 0000 0000 0000 0100 (-4)d=Word(4) Tersi +1

(-4)d=1111 1111 1111 1011 +1= 1111 1111 1111 1100=FFFC

(91)

Negatif sayının ikili sistemde gösterimi

• Data tipine göre (byte, word,...), önce sayı pozitif olark ikili sayı sistemine çevrilir.

• Bitsel tersi alınır

• 1 ile toplanır.

Örnek: -5 0000 0101

1111 1010 +1 =1111 1011= (FB)h

(92)

92

Overflow

• Taşma, toplamdaki bit sayısı, toplanan ve artırılan bitlerin sayısını aştığında meydana gelir.

• Taşma, yanlış işaret ile gösterilir. Yalnızca her iki sayı da pozitif olduğunda veya her iki sayı da negatif olduğunda oluşur

01111101 126

+ 00111010 + 58 _________ ____

10110111 183

Sign Incorrect

Magnitude Incorrect

(93)

Usage Notes

• A lot of slides are adopted from the presentations and documents published on internet by experts who know the subject very well.

• I would like to thank who prepared slides and documents.

• Also, these slides are made publicly available on the web for anyone to use

• If you choose to use them, I ask that you alert me of any mistakes which were made and allow me the option of incorporating such changes (with an acknowledgment) in my set of slides.

Sincerely,

Dr. Cahit Karakuş

cahitkarakus@gmail.com

Referanslar

Benzer Belgeler

Komplo teorisyenleri HAARP'ın nasıl çalıştığını anlatırken, yapılan şeyin yüksek güçte elektromanyetik dalgaların frekansını bir yönde değiştirirseniz,

Python programlama dilinde atama operatörler değişkenlere değer atanması sağlayan sembollerdir. Karşılaştırma operatörlerinin işletilmesi sonucunda python programlama dili True

• Robotların otonom navigasyonunda veri yığınından öğrenen matematiksel modeller ve algoritma uygulamaları ile geliştirilen kendi kendine öğrenme yeteneği ve yapay

Quantum hesaplamada ve özellikle quantum devre hesaplama modelinde, bir quantum mantık kapısı (veya basitçe quantum kapısı) az sayıda qubit üzerinde çalışan

• Bilgisayar mühendisi, hem donanım hem de yazılım konusunda temel eğitimleri almış, bilgi teknolojileri kontrolündeki sistemleri tasarlayan, uygulamasını yapan ve yönetimi

• Paralel bağlantı noktaları: Genellikle yazıcı gibi aygıtların bağlanması için kullanılan paralel bağlantı noktaları seri bağlantılardan daha çok veri taşırlar, ancak

flajellin etkisi inaktif Polio için de gösterilmiş flajellin etkisi atenüe (sarı humma, YF-17D), ve diğer (TDP) aşılar için gösterilememiş. è Aşıda

elektrik sistemi içinde özel işlevleri gerçekleştirmek için tasarlanmış, mikroişlemci veya mikro denetleyici tabanlı bir donanım ve yazılım sistemidir... What is an