“ Digital Numbering Systems ”
Dr. Cahit Karakuş, February-2019
Common Powers
3
Data Yapıları
Number systems
• Number systems
– Decimal – Binary – Bits – bytes
– Hexadecimal – Octal
– Numbers conversion among different systems
• Ascii code
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
Classification of data structures
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.
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.
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.
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.
Array
Linked List
Tree
Queue
Stack
Veri yapılarının türleri
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.
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..
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).
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.
Digital Systems
17
DIGITAL CIRCUITS
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
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ı
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.
– 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
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 = ¾
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
Example
/ 230 = In the lab…
1. Double click on My Computer 2. Right click on C:
3. Click on Properties
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+c26
• 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
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
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.
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
a b
Binary
30
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
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.
Why Binary Arithmetic?
33
3 + 5
0011 + 0101
= 8
= 1000
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.
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
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
Ö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
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..
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.
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
Conversion
41
42
Binary Number System
• Base 2
• Two Digits: 0, 1
• Example: 1010110
2• Positional Number System
• Binary Digits are called Bits
• Bit b
ois the least significant bit (LSB).
• Bit b
n-1is the most significant bit (MSB).
1 4 3 2 1 0
1 4 3 2 1 0
2
n2 2 2 2 2 b
nb b b b b
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
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
Binary and Decimal Conversion
Converting Binary to Decimal
Binary number system is base 2
0, 1
Uses 2 numbers
10010001 = 145
Base 2 representation
2
72
62
52
42
32
22
12
0Decimal representation
128 64 32 16 8 4 2 1
Base 2 representation
1 0 0 1 0 0 0 1
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)
16Binary to Decimal
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
Bilgisayar sistemlerinde 2 üzeri indeksleme 0,1,2,3,.. Biçimindedir.
İndeksleme sağdan başlar.
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
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)
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)
16Hexadecimal 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
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
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
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
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
Octal to Hexadecimal
• Technique
– Use binary as an intermediary
10768 = ?16 1 0 7 6
001 000 111 110
2 3 E
10768 = 23E16
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
Variable Declaration
62
DATA SIZE
Nibble 4 bit
Byte 8 bit
Word 16 bit
Long word 32 bit
63
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
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
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.
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
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
Adding binary numbers
Adding binary numbers
İ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
ASCII Coding
74
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
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
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)
Fractions
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
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
Twos Complement Representation
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
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
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
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
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
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.