Şimdi sayı sistemlerinin bilgisayarla hesaplamadaki rollerinin ne olduklarına ayrıntılı bir göz atalım.

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "Şimdi sayı sistemlerinin bilgisayarla hesaplamadaki rollerinin ne olduklarına ayrıntılı bir göz atalım."

Transkript

1 237 BÖLÜM 8 Sayı Sistemleri Bölümün İçindekileri Bu bölümde sayıların farklı sayı sistemleri tarafından nasıl temsil edildikleri üzerinde çalışacağız. Sayıların ondalık, ikili ve onaltılık sayı sistemleri tarafından nasıl temsil edildiklerine daha fazla dikkat edeceğiz, çünkü onlar en yaygın olarak bilgisayar ve programlamada kullanılmaktadır. Bilgisayarlarda sayısal verileri işaretli ve işaretsiz tamsayılar ve farklı türde gerçek sayıları kodlamanın farklı yollarını anlatacağız. 8.2 Sayı Sistemleri Şimdi sayı sistemlerinin bilgisayarla hesaplamadaki rollerinin ne olduklarına ayrıntılı bir göz atalım Sayı Sistemleri Nedir? Sayı sistemleri rakam olarak adlandırılan sonlu sayıdaki grafiksel işaretler ile sayıları temsil etmenin bir yoludur. Sayıları göstermek için kurallar da bu sisteme eklenmelidir. Belirli bir sayı sisteminde sayıları göstermek için kullanılan karakterler, o sistemin alfabesi olarak adlandırılabilir. İnsan uygarlığının farklı gelişim aşamalarında, çeşitli sayı sistemleri popülerlik kazanmıştır. Bunların en yaygın kullanılanı Arapça rakam sistemidir. 0, 1, 2, 3, 4, 5, 6, 7, 8 ve 9 basamaklarından ve onların alfabesinden oluşmaktadır. (İlginç bir gerçek, Arap rakamlarının modern zamanlarda gösterimi sözü edilen on basamaktan farklı olmasına rağmen aynı ondalık rakam sistemine işaret etmesidir.) Bir alfabenin yanı sıra, her rakam sisteminin bir tabanı vardır. Taban sistem içinde sayıları betimlemede kullanılan farklı basamak sayısıdır. 10 basamak Örneğin, Arapça rakam sistemi 10 basamak kullandığından ondalık olarak adlandırılır. 1 ve 0 dan farklı bir mutlak değere sahip olan rasgele bir sayı baz olarak seçilebilir. Aynı zamanda gerçek veya işareti olan karmaşık bir sayı da olabilir.

2 238 Şu soruyu pratikte sorabiliriz: Kullanabileceğimiz en iyi rakam sistemi hangisidir? Bunu cevaplamak için, bir sayıyı göstermenin optimal yolunun ne olduğuna (sayıyı oluşturan basamakların sayısı) ve rakam sisteminin kullandığı basamak sayısına tabana karar vermelisiniz. Matematiksel olarak kanıtlanabilir ki, gösterimin uzunluğu ile kullanılan basamak sayısı arasındaki en iyi oran doğal logaritma tabanı olan Euler numarasını (e = 2, ) kullanarak gerçekleştirilir. Böylesine bir e tabanlı sistemde çalışmak son derece zahmetli ve kullanışsızdır, çünkü bu sayıyı iki doğal sayının bir oranı olarak ifade edemezsiniz. Bu bize rakam sisteminin optimal tabanının 2 yada 3 olduğu sonucuna götürür. 3 tabanı teknik uygulama için uygun olmadığı için, ikili taban pratikte kullanım için en uygun olan sayı sistemidir ve modern bilgisayarlar ve elektronik cihazlarda kullanılmaktadır Konumsal Sayı Sistemleri Konumsal sayı sisteminde basamakların konumları sayı değeri için önemlidir. Sayıdaki basamakların değeri tam anlamıyla tanımlı değildir ve verilen rakamın hangi pozisyonda olduğuna bağlıdır. Örneğin, 351 sayısındaki 1 basamağı ile 1024 sayısındaki 1 basamağı farklı değerlere sahiptir. Önceki sayıda 1 değerine, sonraki sayıda 1000 değerine sahiptir. Sayı sistemlerindeki tabanın sadece konumsal sayı sistemlerinde uygulanabilir olduğunu belirtmeliyiz. Konumsal bir sayı sisteminde A(p) sayısını A(p) = (a(n)a(n-1) a(0),a(-1)a(-2) a(-k)) şu şekilde temsil edilebiliriz: A ( p ) = k m= n a m T m Bu toplamda sayının m.inci basamağı için T m bir ağırlık faktörünü belirtir. Çoğu durumda T m = P m, yani: A ( p ) = k m= n a m P m Yukarıdaki toplam kullanılarak oluşturulan A(p) sayısı sırası ile tamsayı ve ondalık kısımlardan oluşur: (a(n)a(n-1) a(0)) ve (a(-1)a(-2) a(-k)). Bu ifadedeki her a, doğal sayılardan oluşan bir M={0, 1, 2,, p-1} çokluğuna aittir. Konumsal sayı sistemlerinde her basamağın değerinin bir önceki basamaktan sistem tabanının bir katı kadar daha büyük olduğunu kolayca görebilirsiniz (sağa doğru olan basamaktan, yani alt seviyedeki basamak). Bunun doğrudan bir sonucu da şudur: Tabandan daha büyük bir rakamı temsil etmemiz gerekiyorsa

3 239 bulunduğumuz basamaktan sola bir basamak daha eklememiz gerekmektedir. 2, 8, 10 ve 16 tabanlarındaki sistemler bilgi işlem cihazlarında yaygın halde kullanılmaktadır. Aşağıdaki tabloda 0-15 arasındaki sayıların bu sayı sistemlerindeki gösterimlerini bulacaksınız: İkili Sekizli Onluk Onaltılık A B C D E F

4 Konumsal Olmayan Sayı Sistemleri Konumsal sayı sistemlerinin yanı sıra, konumsal olmayan sayı sistemleri de vardır. burada her basamağın değeri bir sabittir ve sayının içindeki konuma kesin olarak bağlı değildir. Roma ve Yunan sayı sistemleri böyle sayı sistemlerindendir. Konumsal olmayan tüm sayı sistemlerinin ortak bir dezavantajı vardır büyük sayıların temsili çok zordur. Bu sakıncanın bir sonucu olarak, sadece sınırlı kullanım bulmuşlardır. Bu genellikle sayıların değerini belirlerken yanlışlıklara yol açabilir. Roma ve Yunan sayı sistemlerine çok kısa olarak bir bakacağız Roma Sayı Sistemi Romen rakamıyla sistem sayıları temsil etmek için aşağıdaki sembol dizileri kullanılır: Romen Basamağı Ondalık Değeri I 1 V 5 X 10 L 50 C 100 D 500 M 1000 Daha önce belirtildiği gibi, bu rakam sistemi içinde basamak konumunun sayı değeri için hiçbir önemi yoktur ve sayı değerini belirlemede aşağıdaki kurallar uygulanır: a. Ardışık iki Roma rakamının birinci değeri ikinci değere eşit yada daha büyükse bu iki değer eklenir. Örneğin: III sayısının değeri = 3, ancak MMD sayısının değeri = b. Ardışık iki Roma rakamının birinci değeri ikinci değerden daha küçükse bu iki değer çıkarılır. Örneğin: IX sayısının değeri = 9, ancak MXL sayısının değeri = 1040 ve MXXIV sayısının değeri = 1024.

5 Yunan Sayı Sistemi Yunan sayı sistemi beşli gruplamanın yapıldığı bir ondalık sistemdir. Aşağıdaki basamakları kullanır: Yunan Basamağı Ondalık Değer Ι 1 Γ 5 Δ 10 Η 100 Χ 1,000 Μ 10,000 Tabloda görebileceğiniz gibi, 1 dikey çizgi ile temsil edilmekte, 5, Γ harfi ile, ve 10 un üsleri kendilerine karşılık gelen Yunan sözcüğünün ilk harfi ile temsil edilmektedir. Bu sistemdeki sayılardan bazı örnekler aşağıda verilmiştir: ΓΔ = 50 = 5 x 10 ΓH = 500 = 5 x 100 ΓX = 5000 = 5 x 1,000 ΓM = 50,000 = 5 x 10, İkili Sayı Sistemi Bilgisayar Teknolojisinin Temeli İkili sayı sistemini kullanarak modern bilgisayar makinelerinde sayılar temsil edilmekte ve işlenmektedir. Bu sistemin yaygınlığını iki kararlı durum cihazlarını uygulamanın çok kolay olması gerçeği ile ve ikili aritmetik cihazların üretim maliyetinin çok düşük olmasıyla açıklayabiliriz. 0 ve 1 ikili basamakları işlem makinelerinde akım var ve akım yok ile veya +5V ve -5V olarak kolayca temsil edilebilir.

6 242 Bu avantajlarla birlikte, bilgisayarlarda sayıların gösterimi için ikili sistem kullanmanın sakıncaları da vardır. Pratikte en büyük kusur ikili sayı sisteminde temsil edilen sayıların çok uzun olmaları, yani çok sayıda bit içermeleridir. Bunun doğal sonucu, insanlar tarafından doğrudan kullanım için elverişli olmamasıdır. Bu dezavantajı önlemek için, daha büyük tabanlarda sistemler pratikte kullanılmaktadır Ondalık Sayılar Ondalık sayı sisteminde temsil edilen sayılar insanlar tarafından kolay anlaşılacak şekilde doğal bir görünüme sahiptir. Bu sayı sisteminin tabanı 10 dur. Temsil edilen basamaklar 10 sayısının katları olarak sıralanmışlardır. Bir ondalık sayının en düşük seviyedeki basamağı (sağdan sola ilk basamak) bir leri temsil etmek için kullanılır (100 = 1), sonraki basamak on ları temsil eder (101 = 10), sonraki basamak yüz leri temsil eder (102 =100), ve bunun gibi devam eder. Başka bir deyişle izleyen her basamak bir önceki basamaktan 10 kat daha büyük bir değere sahiptir. Farklı basamakların toplamı sayının son değerini belirler. Örnek olarak sayısını alacağız, ondalık sayı sistemindeki gösterimi aşağıda verilmiştir: = ( ) + ( ) + ( ) + ( ) + ( ) Bu şekilde temsil edildiğinde, sayısı insanlar için doğal bir şekilde anlaşılır, çünkü ondalık sayı sisteminin prensipleri insanlar için temel olarak kabul edilmiştir.! Tartışılan yaklaşımlar, diğer sayı sistemleri için de geçerlidir. Aynı mantık kurgusuna sahiptir, ancak farklı tabanlı bir sisteme uygulanabilir. Örneğin, ayrıntılı olarak biraz sonra tartışacağımız ikili ve onaltılık sayı sistemleri için de geçerlidir İkili Sayılar İkili sayı sistemi içinde gösterilen sayılar, ikincil olarak hesap yapan makineler için kolay anlaşılırdır. İnsanlar tarafından biraz daha zor anlaşılır. İkili sayıları temsil etmek için tabanı 2 olan ikili rakam sistemi kullanılır. Bu sayı sisteminde basamaklar 2 nin üsleri olarak konumlandırılmıştır. Gösterimlerinde sadece 0 ve 1 basamakları kullanılır. Genellikle, ondalık olmayan bir sayı sisteminde bir sayı temsil edildiğinde taban sayının yanında parantez içinde bir endeks olarak yazılır. Örneğin 1110(2) gösteriminde ikili sayısal sistemde bir sayı gösterilmiştir. Hiçbir sayı sistemi açıkça belirtilmemişse, sayının ondalık sistemde olduğu kabul edilir. Basamaklar soldan başlayarak sağa doğru okunarak (en yüksek seviyeli basamaktan en düşük seviyeli basamağa doğru) telaffuz edilir.

7 243 Ondalık sayılarda olduğu gibi, sağdan sola doğru okunan her ikili basamak konumuna uygun şekilde 2 nin bir üssü olarak temsil edilir. İkili sayının en düşük seviyeli basamağı (2 0 =1) konumuna karşılık gelir, ikinci basamağı (2 1 =2) konumuna karşılık gelir, üçüncü basamağı (2 2 =4) konumuna karşılık gelir, ve bunun gibi devam eder. Sayı 8 bit uzunluğunda ise, son bit yedinci üstür (2 7 =128). Sayı 16 bit uzunluğunda ise, son bit onbeşinci kuvvettir. 8 ikili basamak (0 ya da 1) kullanarak 256 sayı temsil edebiliriz, çünkü (2 8 =256). 8 ikili basamak kullanarak sayı temsil edebiliriz, çünkü (2 16 =65536). İkili rakam sistemindeki sayıların bazı örneklerine bakalım. 148 ondalık sayısını ele alalım. Üç basamaktan oluşur: 1, 4 ve 8 ve aşağıdaki ikili sayı ile temsil edilir: (2) 148 = (1 2 7 ) + (1 2 4 ) + (1 2 2 ) Sayının tam gösterimi aşağıdaki tabloda verilmiştir: Sayı Üs Değer 1 27 = = = = = = = = 0 0 ve 1 lerden oluşan 8 bit uzunluğundaki diziye bir bayt (byte) denir sıradan bir sekiz bitlik ikili sayı. 0 dan başlayarak 255 e kadar olan tüm sayılar bir bayt uzunluğunda temsil edilebilir. Çoğu durumda bu yeterli değildir; sonuç olarak çok sayıda birbirini takip eden baytlar büyük bir sayıyı temsil etmek için kullanılabilir. İki bayt, makine sözcüğü nü (word) oluşturur, (16- bit bilgi işlem makinelerinde) 16 bit uzunluğundadır. Bunun yanı sıra, bilgisayar makineleri 32 bit e karşılık, çift sözcük (double word) ya da dword kullanır.! 0 ile sonlanan bir ikili sayı çifttir. 1 ile sonlanan bir ikili sayı tektir İkili Sayı Sisteminden Ondalık Sisteme Dönüştürme İkili sayı sisteminden ondalık sisteme geçerken, ikili sayıdan ondalık sayıya bir dönüşüm yapmak zorundayız. Bir dizi işlem gerçekleştirerek her sayı sisteminden bir sayıyı diğer bir sayı sistemine dönüştürebilirsiniz. Daha önce belirtildiği gibi, ikili sistemde sayılar, 2 nin üsleri olarak konumlandırılan ikili basamaklardan oluşur (2) sayısını ele alalım. Ondalığa dönüştürme işlemi aşağıdaki toplam hesaplanarak yapılır:

8 (2) = = = 16 (10) + 8 (10) + 1 (10) = 25 (10) Buradan izleyerek (2) = 25 (10) elde edilir. Diğer bir deyişle her ikili rakam 2 nin bir üssü ile çarpılarak elde edilmiştir. Bu üs basamağın konumunu belirten sayıdır. Sonunda ikili sayının ondalık değerini elde etmek için ikili basamaklarda konumlanan tüm sayıların değerleri toplanır Horner Şeması Dönüşüm için bir başka yöntem Horner Şeması olarak bilinmektedir. Bunu kullanırken, en soldaki basamak 2 ile çarpılır ve sağdaki basamağa eklenir. Bu sonuç iki ile çarpılır ve sağdaki komşu basamağa eklenir. Sayının tüm basamakları tükenene kadar bu tekrarlanır ve son basamak çarpma olmadan eklenir. Bu yöntemin uygulanmasına bir örnek aşağıda verilmiştir: 1001 (2) = (( ) 2 + 0) = = Ondalık Sistemden İkili Sayı Sistemine Dönüştürme Ondalık sistemden ikili sisteme geçerken, ondalık sayıyı ikili sayıya dönüştürürüz. Bunu gerçekleştirmek için, sayıyı 2 ile böler ve kalanını alırız. Bölüm ve kalanı ayrı ayrı hesaplamalıyız. Örnek sayı olarak tekrar 148 sayısını kullanalım. Dönüştürmeyi istediğimiz taban tarafından bir tamsayı bölmesi gerçekleştirmek durumundayız (bu durumda taban 2). Bölme sonrasında kalanları kullanarak (her zaman ya 0 yada 1 olacaktır) dönüştürlen sayıyı temsil ederiz. 0 katsayısı elde edilene kadar bölünme devam eder. Bir örnek aşağıda verilmiştir: 148:2=74 kalan 0; 74:2=37 kalan 0; 37:2=18 kalan 1; 18:2=9 kalan 0; 9:2=4 kalan 1; 4:2=2 kalan 0; 2:2=1 kalan 0; 1:2=0 kalan 1; Bölüm yapıldıktan sonra, kalanlar ters sırada aşağıdaki gibi temsil edilir: yani, 148 (10) = (2)

9 İkili Sayılarla İşlemler Toplama, çıkarma ve çarpmanın aritmetik kuralları tek basamaklı ikili sayılar için geçerlidir: = = = = = = = = = = = = 1 Buna ek olarak, ikili sayılarla mantıksal çarpım (conjunction), mantıksal toplam (disjunction) ve modulo iki toplamı gibi (exclusive or) gibi mantıksal işlemleri de yapabilirsiniz. Unutmamanız gerekir ki, toplama ve çıkarma yaparken çok-seviyeli sayılarla aritmetik işlem yaparken farklı seviyeler arasındaki bağlantıyı doğru kurmanız gerekir. Bitsel işlemler ile ilgili bazı detaylara göz atalım: Bitsel and Bitsel AND işleci bir sayıdaki belirli bir bit değerini kontrol etmek için kullanılabilir. Örneğin, belirli bir sayının çift olup olmadığını kontrol etmek istiyorsanız, (en düşük seviyedeki bitin 1 olup olmadığını kontrol ederiz): AND = Sonuç 1 dir ve sayının tek olduğu anlamına gelir (sonuç 0 olsaydı, sayı çift olacaktı). C# dilinde bitsel AND & ile temsil edilir ve kullanımı aşağıda verildiği gibidir: int Bitsel or Bitsel OR işleci, örneğin belirli bir biti 1 e yükseltmek için kullanılabilir OR = C# dilinde bitsel OR ile temsil edilir ve kullanımı aşağıda verildiği gibidir: int

10 Bitsel exclusive or Bitsel XOR işlecinde ikili her basamak ayrı ayrı işlem görür. Bu işlemlerin her biri için ikinci işlenen 0 ise, ilk işlenenin değeri sonuca kopyalanır. İkinci işlenenin 1 olduğu her konumda ise ilk işlenenin karşılık gelen konumunun değeri ters çevrilir ve sonuca bu rakam yazılır XOR = C# dilinde exclusive or işleci ^ ile gösterilir: int Bitsel negation Bitsel işleç NOT tekli bir işleçtir, yani tek bir işlenene uygulandığı anlamına gelir. Verilen ikili sayının her bitini ters değerine çevirir: NOT = C# dilinde bitsel negation ~ ile temsil edilir: int Onaltılık Sayılar Onaltılık sayılar için sistem tabanı olarak 16 kullanılır, 0 dan 15 dahil tüm olası 16 değeri temsil eden basamakların kullanıldığını ifade eder. Zaten önceki bölümlerdeki tablolardan birinde gösterdiğimiz gibi onaltılık sistemde sayıların gösterilmesi için 0-9 basamakları ve A-F Latin karakterleri kullanılır. Bunların her birinin karşılık gelen bir değeri vardır: A=10, B=11, C=12, D=13, E=14, F=15 Onaltılık sayılar için şu örnekler verilebilir: D2, 1F2F1, ve D1E. Ondalık sisteme dönüştürmek için ilk önce en sağdaki basamağı 16 0 ile çarparız, sonra sola doğru sonraki basamağı 16 1 ile çarparız ve daha sonra sola doğru bir sonraki basamağı 16 2 ile çarparız, ve bunun gibi devam eder. Sonunda hepsini toplayarak sonucu buluruz. D1E (16) = E* * D*16 2 = 14*1 + 1* *256 = 3358 (10). Onaltılık rakam sistemine dönüştürmek için ondalık sayıyı ard arda 16 ile böleriz ve kalanları tersten alırız. Örnek:

11 247 Bölüm Kalan 3358 / 16 = =E(16) 209 / 16 = 13 1=1(16) 13 / 16 = 0 13=D(16) Kalanlar tersten alınınca sayı D1E (16) olur İkili Sistemden Onaltılık Sayılara Hızlı Dönüştürme İkili sistemden onaltılık sayılara hızlı dönüştürme hızlı ve kolay şekilde yapılabilir. Bunun için ikili sayı dört bitlik gruplar (yarımşar baytlar) halinde bölünür. Herhangi bir gruptaki basamaklar dörtten azsa, sayının değerini değiştirmeden en soldaki konumlara 0 lar eklenerek dörtlü grup tamamlanır. Bölünme ve sıfırların da, gerekiyorsa eklenmesinden sonra, tüm gruplara karşılık gelen onaltılık basamaklar yan yana dizilir ve sonuç elde edilir. Bir örnek aşağıda verilmiştir: (2) sayısına bir bakalım: I. Yarım baytlara böleriz ve baştaki sıfırları ekleriz. Örnek: II. Her yarım baytı karşılık gelen onaltılık basamak ile yer değiştiririz ve böylece sonuç olarak 39E (16) elde edilir. Bu nedenle, (2) = 39E (16) Sayı Sistemleri Özet Özetle, kısa ve net bir şekilde tekrarlayarak formüle edecek olursak, bir konumsal sayı sisteminden diğerine dönüştürmek için kullanılan algoritmalar: Ondalık sayıdan k-tabanlı sayı sistemine dönüştürmek için ondalık sayı ard arda yinelenen bir şekilde k sayısına bölünür ve her bölme işleminden sonra elde edilen kalan not edilir. Yinelenen bölme işlemleri son bulduğunda baştan sona dek elde edilen kalanlar sondan başa olacak şekilde ters sırada yazılarak sonuç olan sayıyı belirler. k-tabanlı sayı sisteminden ondalık sayıya dönüştürmek için en sağdaki basamak k0 ile çarpılır, sağdan sola bir önceki basamak k1 ile çarpılır, bir önceki basamak k2 ile çarpılır, ve bunun gibi devam eder ve çarpımlar toplanır.

12 248 k-tabanlı sayı sisteminden p-tabanlı sayı sistemine (onaltılık ve ikili sayı sistemleri hariç) dönüştürmek için sayı önce ondalık sisteme dönüştürülür, sonra ondalıktan istenen sayı tabanına çevrilir. İkili ve onaltılık sayı sistemleri arasındaki dönüştürmeler dörtlü bit gruplarının karşılık gelen onaltılık basamağa çevrilmesi ile ve ikili sisteme dönüştürmek için de benzer şekilde her onaltılık basamağın dörtlü-bit grubuna çevrilmesi ile yapılır. 8.3 Sayıların Gösterimi İkili kod bilgisayar makinelerinin işletme belleğinde veri depolamak için kullanılır. Veri türüne bağlı olarak (dizeler, tamsayılar ve ondalık kısmı olan gerçek sayılar) saklamak istediğimiz bilgi özel bir şekilde temsil edilmektedir. Bu veri türüne göre belirlenir. Bir üst düzey dili kullanırken bile bir programcının, makinenin çalışma belleğinde verinin nasıl tahsis edildiğini bilmesi gerekir. Eldeki harici taşıyıcılar üzerinde depolansa da bu durum yine geçerlidir, çünkü veri işlendiğinde, çalışma belleğinde yer alacaktır. Bu bölümde farklı veri türlerini sunmak ve işlemek için başvurulan farklı yollara göz atacağız. Genel olarak bunlar bit, bayt (byte) ve makine sözcüğü (word) kavramlarına dayanmaktadır. Bit 0 veya 1 ikili değerlerinden birine sahip olan bilgi birimidir. Bellekteki bilgiler tek bir bayttan oluşan 8 bitlik diziler halinde toplanır. Bir aritmetik cihaz verilerini işlemek için, belirli bir sayıda bayt (2, 4 veya 8) bellekte yer almalıdır, bu bir makine sözcüğünü oluşturur. Bunlar her programcının bilmesi ve anlaması gerekli kavramlardır Tamsayıların Bellekte Gösterimi Şimdiye kadar ele almadığımız konulardan biri de sayıların işaretleridir. Tamsayılar bellekte iki şekilde temsil edilir: işaretli yada işaretsiz. Sayılar işaretli olarak temsil edildiğinde, bir işaret biti tanıtılmalıdır. Bu bit en yüksek seviyedeki bittir, ve negatif sayılar için 1 değerine ve pozitif sayılar için 0 değerine sahiptir. Bitlerin geri kalanı bilgilendiricidir ve sadece sayı değerini temsil ederler (içerirler). İşaretsiz bir sayı olması durumunda, tüm bitler sayı değerini temsil eder.

13 İşaretsiz Tamsayılar İşaretsiz tamsayılar için 1, 2, 4 veya 8 bayt belleğe tahsis edilir. Verilen bir sayının gösterimi için kullanılan bayt sayısına bağlı olarak, değişken boyutlu ve farklı kapsamda gösterimler oluşur. n bayt sayesinde [0, 2n - 1] aralığındaki tüm tamsayılar temsil edilebilir: Sayının bellekte temsili için gerekli bayt sayısı Üslü gösterim Aralık Sayısal gösterim , ,294,967, ,446,744,073,709,551,615 Örnek olarak ikili gösterimi (2) olan 158 sayısının bir tek bayt ve bir çift bayt ile temsil edilişini vereceğiz: 1 bayt ile temsili: bayt ile temsili: Negatif Sayıların Temsili Negatif sayılar için 1, 2, 4 veya 8 bayt bilgisayarın belleğinde tahsis edilir. En yüksek seviyeli (en soldaki bit) bir işaret anlamına sahiptir ve sayı işareti hakkında bilgi taşır. Daha önce belirtildiği gibi, işaret biti 1 değerine sahip olduğunda sayı negatiftir, aksi takdirde sayı pozitiftir. Bir sonraki tablo, bilgisayarda gösterimi için kullanılan bayt sayısına göre işaretli tamsayı değerlerinin aralığını göstermektedir:

14 250 Sayının Seviye bellekte temsili için gerekli bayt sayısı Üslü gösterim Sayısal gösterim ,768 32, ,147,483,648 2,147,483, ,223,372,036,854,775,808 9,223,372,036,854,775,807 Negatif sayıları kodlamak için, düz, ters ve ek kod kullanılır. Bu üç gösterimin tümünde işaretli tamsayılar şu aralıktadır: [-2 n-1, 2 n-1-1]. Pozitif sayılar hep aynı şekilde temsil edilmektedir ve düz, ters ve ek kodların hepsi aynı gösterimdir. Düz kod (işaretli büyüklük) sayının en basit temsilidir. En yüksek seviyedeki bit işaret bilgisini taşır ve bitlerin kalanı sayının mutlak değerini tutar. Bazı örnekler aşağıda verilmiştir: İşaretli büyüklüğü 3 olan sekiz bit uzunluğundaki sayı olarak temsil edilir. İşaretli büyüklüğü 3 olan sekiz bit uzunluğundaki sayı olarak temsil edilir. Ters kod (1 in tümleyeni) sayının işaretli büyüklüğünü oluşturan bitlerin tümünü tersine çevirerek (inversion: Tüm 1 leri 0 ile ve tersi tüm 0 ları 1 ile yer değiştirerek). Bu kod aritmetik işlemlerden toplama ve çıkarma için uygun değildir, çünkü çıkarma gerekli olduğu takdirde farklı bir şekilde yürütülür. Ayrıca işaret bitinin bilgi taşıyan bitlerden ayrı olarak işlenmesi gerekir. Bu dezavantaj ek kod kullanılarak önlenir. Çıkarma işleminin yerine negatif bir sayı ile toplama yapılır. İkinci yöntemde gerekli negatif sayıyı elde etmek için 2 n ile başlayan ve sayının mutlak değerini içeren bir gösterimde toplama işlemi gerçekleştirilir. Örnek: -127 sayısının işaretli büyüklüğü olarak ve 1 in tümleyeninde olarak temsil edilir. 3 sayısının işaretli büyüklüğü olarak ve 1 in tümleyeninde olarak temsil edilir.

15 251 Ek kod (2 nin tümleyeni) ters kod temsilindeki sayıya toplama aracılığıyla 1 in eklenmesiyle elde edilen sayıdır. Örnek: -127 sayısının ek kod temsili dir. Binary Coded Decimal sisteminde, aynı zamanda BCD kodu olarak da bilinir, bir byte içinde iki ondalık basamak kaydedilir. Her bir yarım bayt içinde tek bir ondalık basamak kodlanır. Bu şekilde temsil edilen sayılar bitiştirilebilir, yani bitişik yazım şeklinde ifade edilebilir. Tek bir ondalık basamağı bir bayt içinde temsil edersek, bitiştirilmemiş biçim elde ederiz. Modern işlemciler negatif sayıların temsilinde yukarıda anlattığımız kodlardan birini veya birkaçını kullanırlar, en yaygın kullanılan yöntem 2 nin tümleyenidir C# Dilinde Tamsayı Türleri C# dilinde sekiz tamsayı veri türü vardır, işaretli veya işaretsiz. Her bir tür için ayrılan byte miktarına bağlı olarak, farklı değer aralıkları belirlenmiştir. Türlerin açıklamalarını aşağıdaki tabloda bulacaksınız: Tür Boyut Aralık.NET Framework Türü sbyte 8 bit System.SByte byte 8 bit System.Byte short 16 bit -32,768 32,767 System.Int16 ushort 16 bit 0 65,535 System.UInt16 int 32 bit -2,147,483,648 2,147,483,647 System.Int32 uint 32 bit 0 4,294,967,295 System.UInt32 long 64 bit 9,223,372,036,854,775,808 9,223,372,036,854,775,807 System.Int64 ulong 64 bit 0 18,446,744,073,709,551,615 System.UInt64

16 252 En çok kullanılanlara kısaca bakacağız. En sık kullanılan tamsayı int türüdür. Bu 2 nin tümleyeni olan bir 32-bit sayı olarak temsil edilir ve [-2 31, ] aralığında bir değer alır. Bu tür değişkenler en sık döngüleri çalıştırmak için, endeks dizilerinde ve diğer tamsayı hesaplamalarında kullanılır. int türünde bir değişken örneğinin bildirildiği bir örnek aşağıdaki verilmiştir: int int int Convert 1001 // Converts binary to int long türü C# dilinde tanımlı en büyük işaretli tamsayı türüdür. 64-bit (8-bayt) boyutu vardır. long türü değişkenlerin değerini verirken Latin harfleri l veya L tamsayı değişmezinin sonuna yerleştirilir. Bu pozisyonda yerleştirilen bu değiştiricinin anlamı, değişmezin long türünde bir değer olduğunu belirtmesidir. Bunun yapılmasına neden, varsayılan olarak tüm tamsayı değişmezlerinin int türünde olmasıdır. Bir sonraki örnekte, long türü değişkenleri bildireceğiz ve onlara 64-bit değer vereceğiz: long long Önemli bir durum kullanılan türün temsil edebileceği en büyük sayı aralığını geçmemektir. Bununla birlikte, C# dili bir taşma meydana geldiğinde olacakları kontrol etme olanağını sunmaktadır. Bu checked ve unchecked bloklar aracılığıyla yapılır. Birincisi değişken aralığı aşıldığında bir istisna (System.OverflowException türünde) atmak gerektiğinde kullanılır. Aşağıdaki programlama kodu tam olarak bunu yapmaktadır: checked int int Console Kod fragmanı denetlenmeyen (unchecked) bir blok olsaydı, herhangi bir özel durum olmayacak ve çıkış sonucu yanlış olacaktı:

17 253 Bu bloklar kullanılmadığı zaman C# derleyicisi varsayılan olarak kontrolsüz modda çalışır. C# dili daha büyük bir aralıktaki pozitif sayı kapsamındaki değişkenler için gerektiğinde yararlı olabilen işaretsiz türleri içerir. Aşağıda işareti olmayan değişkenleri bildiren bazı örnekler verilmiştir. ulong türünün son eklerine (tüm U, L, u, l kombinasyonları) dikkat etmelisiniz. byte uint ulong // or u, U // or UL, ul, Ul, ul, Lu, lu Büyük-Endian ve Küçük-Endian Gösterimi Bir bayt uzunluğundan büyük tamsayıların gösteriminde bellekten baytlar iki yolla getirilebilir: Küçük-Endian (Little-Endian: LE): Baytlar en düşük seviyeden en yüksek seviyeye olmak üzere soldan sağa doğru sıralanır. Bu temsil, Intel x86 ve x64 Intel mikroişlemci mimarisinde kullanılmıştır. Büyük-Endian (Big-Endian: BE): Baytlar en yüksek seviyeden başlayarak en düşük seviyeye olmak üzere soldan sağa doğru sıralanır. Bu temsil PowerPC, SPARC ve ARM mikroişlemci mimarisinde kullanılmıştır. A8B6EA72 (16) sayısının her iki bayt sıralamasında gösterimi ile ilgili bir örnek aşağıda verilmiştir: C# dilinde hangi standartta sıralama yapılacağını belirlememize yardımcı bazı sınıflar vardır. Bu İnternet üzerinden bilgi akışı gönderme/alma gibi işlemler için veya farklı standartlara göre yapılan cihazlar arasındaki diğer iletişim türleri için önemlidir. Örneğin BitConverter sınıfının IsLittleEndian alanı hangi modda sınıfın çalışıyor olduğunu ve mevcut bilgisayar mimarisinde verilerin nasıl saklandığını gösterir.

18 Gerçek Kayan Nokta Sayılarının Gösterimi Gerçek sayılar bir tamsayı ve ondalık kısımdan oluşmaktadır. Bilgisayarlarda kayan noktalı sayılar olarak temsil edilmektedir. Aslında bu temsil önde gelen mikroişlemci üreticileri tarafından kabul edilen Kayan Nokta Aritmetik (IEEE 754) Standartı ndan (Standard for Floating-Point Arithmetic) geliyor. Çoğu donanım platformları ve programlama dilleri bu standardın şartlarına göre hesaplama yapılmasına izin verir ve gerektirir. Standart şunu tanımlamaktadır: Aritmetik formatlar: İkili ve ondalık veri formatında sonlu sayıda basamaktan oluşan bir kayan nokta. Değişim formatları: Etkili ve kompakt bir formda veri alışverişi için kullanılabilen kodlama (bit dizileri). Yuvarlama algoritmaları: Hesaplamalar sırasında sayıları yuvarlama için kullanılan yöntemler. İşlemler: Aritmetik ve diğer aritmetik biçimlerdeki işlemler. İstisnalar: Sıfıra gibi bölünme gibi olağanüstü olaylar, taşma ve diğerleri için sinyallerdir. Rasgele bir gerçek sayı R IEEE-754 standardına göre şu şekilde temsil edilir: R = M * q p burada M sayının mantisidir, p üstür, ve q sayının içinde bulunduğu sayı sistemine göre tabanı belirtir. Mantis pozitif veya negatif ortak kesir olmalıdır, M < 1 ve üs - pozitif veya negatif tamsayıdır. Sayıların temsilinde söz edilen yöntemde, her kayan nokta sayısı özetle şu biçime sahip olacaktır: ±0, M*q ± p. Kayan noktalı formatta sayıların gösteriminde, özellikle ikili sayı sistemi kullanıldığında R = M * 2p yazılabilir. Bilgisayar belleğindeki gerçek sayıların bu gösteriminde üssü değiştirdiğinizde, mantisteki ondalık nokta hareket eder ( yüzer ). Kayan-noktalı gösterim biçiminin yarı-logaritmik formu vardır. Açıklaması aşağıdaki şekilde verilmiştir:

19 Kayan Nokta Sayılarının Gösterimi Örnek Kayan nokta sayısının bellekte nasıl gösterildiğine bir örnek aşağıda verilmiştir. IEEE-754 standardına göre 32-bit (bir duyarlıkta) kayan nokta formatında bir sayı olan -21,15625 sayısını yazmak istiyoruz. Bu formatta, 23 bit mantis için kullanılır, üs için 8 bit, ve işaret için 1 bit kullanılır. Buna göre sayıyı aşağıdaki gibi gösterebiliriz: Sayı işareti negatiftir, mantisin eksi işareti olduğu anlamına gelir: S = -1 Üssün değeri 4 tür (kayan sırada temsil edildiğinde): p = ( ) 127 = ( ) 127 = 4 Gerçek değere dönüştürmek için 127 çıkarmalıyız, çünkü ek kod temsilinde sıfır konumundan başlayarak 8 bit ile çalışıyoruz, (127 = 2 7-1). Mantisin değeri (işareti dikkate alınmaksızın) aşağıdaki gibi hesaplanır: M = = = 1 + 0,25 + 0, , , = = 1, Dikkat etmelisiniz ki, mantisin ikili gösteriminde eksik olan 1 i de eklemeliyiz. Bunu yaptık çünkü mantis her zaman normalizedir ve varsayılan bir 1 ile başlar. Sayının değeri, aşağıdaki formül kullanılarak hesaplanır, R = M * 2p, bizim örneğimizde aşağıdaki gibidir: R = -1, * 24 = -1, * 16 = -21, , Mantis Normalleştirme Üslü kullanımı daha etkin hale getirmek için mantisin en yüksek seviyedeki biti 1 olmalıdır. Bu şartı yerine getiren her mantis normalizedir. IEEE-754 standardı olarak, mantisin tamsayı kısmının değeri varsayılan olarak 1 dir, bunun anlamı mantis her zaman 1 ile 2 arasında kalan bir sayı olmalıdır.

20 256 Hesaplamalar sırasında bu şartı yerine getirmez bir sonuç elde edilirse, bu normalleşmenin ihlali anlamına gelir. Sayı daha fazla işleme girmeden öncesinde normalleştirilmelidir, ve bu amaçla mantisdeki ondalık nokta taşınır ve ilgili üs değişikliği yapılır C# Dilinde Gerçek Sayı Türleri Float ve Double C# dilinde kayan nokta sayılarını temsil edebilen iki tür vardır: float türü kayan noktalı 32-bit bir gerçek sayıdır ve adı tek duyarlıklı kayan nokta sayısı olarak kabul edilmektedir. double, kayan noktalı 64-bit bir gerçek sayıdır ve adı çift duyarlıklı kayan nokta sayısı olarak kabul edilmektedir. Gerçek veri tipleri ve onlarla ilgili aritmetik işlemler IEEE standardına göre belirtilen şartnameye uygundur. Aşağıdaki tablo, iki türün en önemli özellikleri sunulmuştur: Tür Boyut Aralık Anlamlı Basamak Sayısı.NET Framework Türü float 32 bit ±1, ±3, System.Single double 64 bit ±5, ±1, System.Double float türünde 7 önemli basamak içeren bir mantis vardır, double türü anlamlı basamak saklar. Kalan bitler mantis işaretini ve üs değerini belirtmek için kullanılır. double türü daha fazla sayıda anlamlı basamağa sahip olmasının yanı sıra ayrıca daha büyük bir üsse de sahiptir, ki bu da kabul edilebilir değerlerin daha geniş bir kapsama sahip olduğu anlamına gelir. float ve double türlerinde değişken bildiren bir örnek aşağıda verilmiştir: float float Denklemin sağ tarafında görünen sayıların ardına eklenen sonekler, sayının hangi türde ele alınacağını belirterek (f float için, d double için) bu amaca hizmet eder. Bu durumda sonekler

21 257 yerinde ve uygun kullanılmıştır, çünkü varsayılan olarak 5,0 double sayıdır ve 5 int olarak yorumlanır.! C# dilinde, varsayılan olarak kayan noktalı sayıların değişmezleri double türündendir. Tamsayılar ve kayan noktalı sayıların her ikisi de belirli bir ifadede mevcut olabilir. Bu durumda, tamsayı değişkenleri kayan nokta değişkenine dönüştürülür ve sonuç aşağıdaki kurallara göre tanımlanır: 1. Kayan nokta türlerinin herhangi biri double türünde ise, sonuç double (veya bool) olacaktır. 2. İfadede hiçbir double türü yoksa, sonuç float veya bool olur. Matematiksel işlemlerin çoğu özel bir değere sahip olmayan sonuçlar verebilir, +/- sonsuzluk değeri, veya NaN ( Bir Sayı Değildir anlamına gelen) gibi bu değerler, sayı değildir. Bir örnek aşağıda verilmiştir: double Console Console Console Console Bunu çalıştırmak isterseniz aşağıdaki sonucu alırsınız: Yukarıdaki kodu int yerine double kullanarak çalıştırdığınızda, System.DivideByZeroException istisnası fırlatılır, çünkü bir tamsayının 0 ile bölünmesi izin verilen bir işlem değildir.

22 Kayan Noktalı Sayıları Kullanırken Karşılaşılan Hatalar IEEE 754 standardına göre sunulan kayan noktalı sayılar (birkaç yüz basamaklı) çok büyük sayıların ve aynı zamanda sıfıra çok yakın (ilk anlamlı basamak öncesinde noktadan sonraki yüzlerce basamağın var olduğu) sayıların kullanıldığı fizik hesaplamaları için çok uygundur. Bu sayılarla çalışırken, IEEE 754 formatı son derece uygundur, çünkü üs içinde sayının kuvvetini tutar, ve mantis sadece anlamlı basamakları saklamak için kullanılır basamaklı kesinlikteki 64-bit kayan noktalı sayılar için ondalık noktanın sola ve sağa 300 konum hareket etmesi (taşınması) mümkündür. Ne yazık ki her gerçek sayının IEEE 754 formatında tam bir temsili yoktur, çünkü her sayı 2 nin negatif üslerini içeren ve sınırlı sayıdaki terimlerinden oluşan birer polinom olarak yazılamaz. Bu günlük basit finansal hesaplamalar için kullanılan sayılar için de aynen geçerlidir. Örneğin 0,1 sayısının temsilinde 32-bit kayan nokta değeri 0, olarak sunulmuştur. Uygun yuvarlama kullanılırsa, sayı 0,1 olarak kabul edilebilir, ancak hata birikmiş ve ciddi sapmalara neden olabilir, özellikle finansal hesaplamalar için. Örneğin her birinin birim fiyatı 0,1 EUR olan 1000 elemanı toplarken 100 EUR bir miktar almalısınız, ancak hesaplamalar için 32-bit kayan noktalı sayıları kullanırsanız sonuç 99,99905 olacaktır. İkili rakam sisteminde ondalık gerçek sayıların yanlış sunumundan kaynaklanan hataları kanıtlayan bir örnek C# dili için aşağıda verilmiştir: float int Console Sum = {0} // Sum = Bu örneği çalıştırdığınızda veya daha çarpıcı hataları almak için değiştirirseniz kolayca hesaplama hatalarını görebilirsiniz Kayan Noktalı Sayıların Duyarlıkları Kayan noktalı sayılar ile ilgili hesaplamaların sonuçları ve doğruluğu aşağıdaki parametrelere bağlıdır: 1. Sayı gösteriminin kesinliği 2. Kullanılan sayı yöntemlerinin kesinliği

23 Yuvarlamalardan vb kaynaklanan hataların değeri Kayan noktalı sayılar ile yapılan hesaplamalar yanlış olabilir, çünkü bunlar ancak belirli bir duyarlığa kadar bellekte temsil edilirler. Bir örnek olarak aşağıdaki kod parçasına bakalım: for Console Console {0:r} Döngü içinde yürütülmesi sırasında sum değişkenine 1/10 değeri eklenir. WriteLine() yöntemi çağrıldığında, değişkenin (yuvarlatılmamış) değerini yazdırmak için gidiş-dönüş biçimi belirteci kullanılır : {0:r} ve bundan sonra bir format belirtmeden aynı değeri yazdırıyoruz. Programı çalıştırdığınızda sonuç olarak 1,0 döndürmesi beklenir, ancak gerçekte yuvarlama kapatıldığında, Program doğruya yakın ancak yine de farklı bir değer döndürür: Örnekten de görülebileceği gibi,.net Framework te kayan noktalı sayılar yazdırılırken IEEE 754 formatında rastlanılan yanlış gösterim hataları azaltması amacıyla varsayılan olarak yuvarlatılmaktadır. Yukarıdaki hesaplama sonucu açıkçası yanlıştır, ancak yuvarlama sonrasında doğru görünmektedir. Ancak, 0,1 birkaç bin kere eklerseniz, hata birikir ve yuvarlama ile bunu telafi etmek mümkün olmayacaktır. Örnekteki yanlış cevabın nedeni 0,1 sayısının double türünde kesin bir temsilinin olmaması ve yuvarlatılmasıdır. float türünü double ile yer değiştirelim: float for Console {0:r}

24 260 Yukarıda kod çalıştırıldığında, tamamen farklı bir sonuç toplamı döndürülür: Yine hata yuvarlamadan kaynaklanmaktadır. Programın bu sonuçları neden verdiğini araştırmak için, float türündeki 0,1 sayısının gösterimine aşağıdaki şekildeki gibi bakmalıyız: Tüm bunlar, mantis dışında, doğru görünüyor, mantis 1,6 dan biraz daha büyük bir değere sahiptir, tam kesinlikte 1,6 ya değil; çünkü bu sayı 2 nin negatif kuvvetlerinin bir toplamı olarak sunulamaz. Çok kesinlikte olmak zorundaysak, mantis değeri / / / / / / / / / / / / , ,6. Yani 0,1 sayısı için IEE 754 tarafından getirilen öneri 1,6 2-4 sayısından biraz daha fazladır ve 0,1 float türü olarak kaydedildiğinde hata toplama sırasında değil ancak toplamadan önce oluşur. Double ve Float türlerinin, Epsilon adında bir alanı vardır. Sıfırdan büyük olan en küçük değeri içeren bir sabittir, System.Single veya System.Double örneği ile temsil edilebilir. Epsilon dan daha küçük her değerin 0 a eşit olduğu kabul edilir. Örneğin, birbirinden farklı olan iki sayıyı karşılaştırırsak, ancak farkları Epsilon dan küçükse, bunlar eşit kabul edilecektir Decimal Tür.NET Framework ün System.Decimal türü büyük sayılar ve hassas finansal hesaplamalar için çok uygundur ve 128-bit kesinliğinde ondalık kayan nokta aritmetiğini kullanır. decimal türün bazı karakteristik özellikleri aşağıda verilmiştir:

25 261 Tür Boyut Aralık Anlamlı basamak sayısı.net Framework Türü decimal 128 bit ± ± System.Decimal Kayan noktalı sayıların aksine, decimal türü için geçerli aralıktaki tüm ondalık sayıların duyarlığı korunur. Ondalık sayılarla çalışırken elde edilen bu mükemmel duyarlık, mantisin iç gösteriminin ikili sistemde değil, ondalık sistemde olmasından dolayıdır. Üs ayrıca 10 un kuvveti değil, 2 nin kuvvetidir. Böylece sayılar ikili sayı sisteme dönüştürülmeksizin tam kesinlikte temsil edilir. float ve double türleri ve üzerlerinde gerçekleştirilen işlemler tüm modern bilgisayar mikroişlemcilerinin parçası olan aritmetik işlemci tarafından gerçekleştirildiği için, ve decimal türü.net CLR yazılımı tarafından uygulandığı için double ile karşılaştırıldığında decimal onlarca kat daha yavaş çalışır, ancak finansal hesaplamaların yürütülmesi için yeri doldurulamaz. Hedefiniz decimal türünde değişkene belirli bir değişmezi atamak ise, sonek olarak m veya M kullanmanız gerekir. Örneğin: decimal decimal Önceki örnekte float / double yerine decimal kullanalım: decimal for Console Bu kez sonuç tam olarak beklediğimiz gibidir:

26 262 decimal türü kayan nokta türlerine göre daha yüksek bir duyarlığa sahip olsa da, daha küçük bir değer aralığına sahiptir ve, örneğin, 1e-50 değerini göstermek için kullanılamaz. Sonuç olarak, kayan noktalı sayılar decimal a dönüştürülürken bir taşma oluşabilir Karakter Verileri (Dizeler) Hesaplamada karakter (metin) verisi bir bayt dizisi kullanılarak kodlanan metindir. Metin verilerini kodlamak için kullanılan farklı kodlama şemaları vardır. Çoğu bir bayt veya birkaç bayt sırası içinde tek karakteri kodlar. Böyle kodlanan şemalar arasında ASCII, Windows 1251, UTF-8 ve UTF-16 bulunmaktadır Kodlama Şemaları (Kodlamalar) ASCII kodlama şeması Latin alfabesinin benzersiz harflerini diğer sembolleri ve özel karakterler ile karşılaştırır ve tek bir bayt halinde yazar. ASCII standardı 127 toplam karakteri içerir, bunların her biri bir bayt halinde yazılmıştır. ASCII standardına göre bir bayt dizisi olarak yazılmış bir metin, Arap, Korece ve Çince olanlar gibi diğer alfabeleri veya Kiril karakterlerini içeremez. ASCII standardında olduğu gibi, Windows 1251 kodlama şeması da Latin alfabesindeki harfleri, Kril ve diğer sembolleri ve özel karakterleri karşılaştırır ve bir byte halinde yazar. Windows 1251 kodlaması 256 adet karakter tanımlar bir bayt içine yazılabilecek en fazla sayıda değer. Windows 1251 standardına göre yazılmış bir metin, sadece Kiril ve Latin harflerini içerebilir, Arapça, Hintçe yada Çince desteklenmez. UTF-8 kodlaması tamamen farklıdır. Unicode standartındaki tüm karakterler dünyadaki tüm yaygın dillerde kullanılan harfler ve semboller (Kiril, Latin, Arap, Çin, Japon, Kore ve diğer birçok dil ve yazı sistemleri) bu standart içinde kodlanabilir. UTF-8 kodlama yarım milyondan fazla sembol içermektedir. UTF-8 kodlamasında daha sık kullanılan semboller (örneğin Latin harfleri ve basamaklar) 1 bayt ile kodlanmıştır, ikinci en sık kullanılan semboller 2 bayt ile kodlanmıştır (örneğin Kiril harfleri), ve daha nadiren kullanılanlar 3 veya 4 bayt ile kodlanmıştır (Çin, Japon ve Kore alfabesinde olduğu gibi). UTF-16 kodlaması, UTF-8 de yaygın olarak kullanılan tüm diller ve yazı sistemlerindeki metinleri Unicode standartında tasvir edebilir. UTF-16 da her sembol 16-bit ile yazılır (2 bayt) ve daha nadiren kullanılan semboller iki 16-bit değer dizisi olarak sunulmaktadır.

27 Bir Dizi Karakterin Sunulması Karakter dizileri çeşitli şekillerde temsil edilebilir. Bellekte metin yazmak için en yaygın yöntem 2 yada 4 bayt içinde önce dizenin uzunluğunu, bunun ardından metnin kendisinin bir çeşit kodlama ile kodlanmış bayt dizisini yazdırmaktır (Örneğin Windows-1251 veya UTF-8 için). Bellekte metin yazdırmak için C dili için tipik ve daha az başvurulan bir başka yaygın yöntem de, metinleri genellikle 1 byte içinde karakter dizisi olarak kodlar, özel bir bitiş karakteri tarafından, çoğunlukla bu 0 dır, takip edilir. Bu yöntemi kullanırken, bellek içinde belirli bir konumda bulunan kaydedilmiş metin uzunluğu önceden belirli değildir. Bu, birçok durumda bir dezavantaj olarak kabul edilmektedir Char Türü C# dilinde char türü tek bir Unicode karakterin tamamının veya bir kısmının kodlandığı 16-bitlik değere sahiptir. Tüm Avrupa dilleri tarafından kullanılan çoğu alfabede bir harf, tek bir 16-bitlik değer ile yazılır ve bu nedenle char türünde bir değişkenin tek bir karakteri temsil ettiği kabul edilir. Bir örnek aşağıda verilmiştir: char A String Türü C# dilinde string türü UTF-16 kodlu metinleri saklamada kullanılır. Tek bir C# dizesi 4 baytlık uzunluk, ve char türünün 16-bit değerleri olarak yazılan bir char dizisini belirtir. string türü ile tüm yaygın alfabelerde ve insanların yazdığı her türlü yazı sistemi ile yazılmış metinleri saklayabilirsiniz - Latin, Kiril, Çince, Japonca, Arap ve birçok diğerleri. string kullanımına bir örnek aşağıda verilmiştir: Example

28 264 Alıştırmalar , 35, 43, 251, 1023 ve 1024 sayılarını ikili sayı sistemine dönüştürün (2) sayısını onaltılık ve ondalık sayı sistemlerine dönüştürün. 3. Onaltılık sistemdeki FA, 2A3E, FFFF, 5A0E9 sayılarını ikili ve ondalık sayı stemlerine dönüştürün. 4. Ondalık sayı sistemindeki bir sayıyı ikili sayıya dönüştüren bir program yazın. 5. İkili sayı sistemindeki bir sayıyı ondalık sayıya dönüştüren bir program yazın. 6. Ondalık sayı sistemindeki bir sayıyı onaltılık sayıya dönüştüren bir program yazın. 7. Onaltılık sayı sistemindeki bir sayıyı ondalık sayıya dönüştüren bir program yazın. 8. Onaltılık sayı sistemindeki bir sayıyı ikili sayıya dönüştüren bir program yazın. 9. İkili sayı sistemindeki bir sayıyı onaltılık sayıya dönüştüren bir program yazın. 10. İkili sayı sistemindeki bir sayıyı onaltılık sayıya Horner şemasını kullanarak dönüştüren bir program yazın. 11. Romen basamaklarına karşılık gelen Arap basamaklarını yazdıran bir program yazın. 12. Arap basamaklarına karşılık gelen Romen basamaklarını yazdıran bir program yazın. 13. Verilen bir N, S, D için (2 S, D 16) N sayısını S tabanlı sayı sisteminden D tabanlı sayı sistemine dönüştüren bir program yazın kere 0, sayısını ard arda toplamayı deneyin. Bir döngü içinde toplama kullanın (doğrudan çarpma kullanmayın). float ve double türleri için ve bundan sonra decimal ile deneyin. Hesaplama hızı ve sonuçlardaki farkı açıklayınız. 15. * float türündeki sayılar (IEEE 754 standardına göre kayan noktalı 32-bitlik sayılar) için mantis değeri, mantis işareti ve üssünü yazdıran bir program yazın. Örnek: -27,25 sayısı için işaret biti = 1, üs = , mantis = olarak yazılmalıdır.

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

SAYISAL ELEKTRONİK. Ege Ü. Ege MYO Mekatronik Programı SAYISAL ELEKTRONİK Ege Ü. Ege MYO Mekatronik Programı BÖLÜM 2 Sayı Sistemleri İkilik, Onaltılık ve İKO Sayılar İkilik Sayı Sistemi 3 Çoğu dijital sistemler 8, 16, 32, ve 64 bit gibi, 2 nin çift kuvvetleri

Detaylı

3.3. İki Tabanlı Sayı Sisteminde Dört İşlem

3.3. İki Tabanlı Sayı Sisteminde Dört İşlem 3.3. İki Tabanlı Sayı Sisteminde Dört İşlem A + B = 2 0 2 1 (Elde) A * B = Sonuç A B = 2 0 2 1 (Borç) A / B = Sonuç 0 + 0 = 0 0 0 * 0 = 0 0 0 = 0 0 0 / 0 = 0 0 + 1 = 1 0 0 * 1 = 0 0 1 = 1 1 0 / 1 = 0 1

Detaylı

BLM1011 Bilgisayar Bilimlerine Giriş I

BLM1011 Bilgisayar Bilimlerine Giriş I BLM1011 Bilgisayar Bilimlerine Giriş I by Z. Cihan TAYŞİ İçerik Sayı sistemleri Binary, Octal, Decimal, Hexadecimal Operatörler Aritmetik operatörler Mantıksal (Logic) operatörler Bitwise operatörler Yıldız

Detaylı

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.

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. İşaretli Tamsayı Gösterimi 1. İşaretli Büyüklük 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. Örnek

Detaylı

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

Elektronik sistemlerde dört farklı sayı sistemi kullanılır. Bunlar; I. SAYI SİSTEMLERİ Elektronik sistemlerde dört farklı sayı sistemi kullanılır. Bunlar; i) İkili(Binary) Sayı Sistemi ii) Onlu(Decimal) Sayı Sistemi iii) Onaltılı(Heksadecimal) Sayı Sistemi iv) Sekizli(Oktal)

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Veri Tipleri ve Özelilkleri Değişken Tanımlama Kuralları Değişken Veri Tipi Değiştirme (Type Casting) Örnek Kodlar Java Veri Tipleri ve Özelilkleri

Detaylı

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

Sayı sistemleri iki ana gruba ayrılır. 1. Sabit Noktalı Sayı Sistemleri. 2. Kayan Noktalı Sayı Sistemleri 2. SAYI SİSTEMLERİ VE KODLAR Sayı sistemleri iki ana gruba ayrılır. 1. Sabit Noktalı Sayı Sistemleri 2. Kayan Noktalı Sayı Sistemleri 2.1. Sabit Noktalı Sayı Sistemleri 2.1.1. Ondalık Sayı Sistemi Günlük

Detaylı

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

Fatih University- Faculty of Engineering- Electric and Electronic Dept. SAYISAL DEVRE TASARIMI EEM122 Ref. Morris MANO & Michael D. CILETTI SAYISAL TASARIM 4. Baskı Fatih University- Faculty of Engineering- Electric and Electronic Dept. SAYISAL DEVRE NEDİR? Mühendisler, elektronik

Detaylı

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları Veri yapısı, bilginin anlamlı sırada bellekte veya disk, çubuk bellek gibi saklama birimlerinde tutulması veya saklanması şeklini gösterir. Bilgisayar

Detaylı

C#(Sharp) Programlama Dili

C#(Sharp) Programlama Dili Değişkenler C#(Sharp) Programlama Dili Program yazarken her zaman sabit verilerle çalışmayız, çoğu zaman programımızda bir verinin kullanıcının davranışına göre değişmesi gerekir. Kullanıcıdan bir metin

Detaylı

Sayılar Teorisi SAYILAR TEORİSİ VE SAYILAR

Sayılar Teorisi SAYILAR TEORİSİ VE SAYILAR Sayılar Teorisi SAYILAR TEORİSİ VE SAYILAR Sayılar; insanların ilk çağlardan beri ihtiyaç duyduğu bir gereksinim olmuştur; sayılar teorisi de matematiğin en eski alanlarından birisidir. Sayılar teorisi,

Detaylı

Sayı sistemleri-hesaplamalar. Sakarya Üniversitesi

Sayı sistemleri-hesaplamalar. Sakarya Üniversitesi Sayı sistemleri-hesaplamalar Sakarya Üniversitesi Sayı Sistemleri - Hesaplamalar Tüm sayı sistemlerinde sayılarda işaret kullanılabilir. Yani pozitif ve negatif sayılarla hesaplama yapılabilir. Bu gerçek

Detaylı

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

Giriş MİKROİŞLEMCİ SİSTEMLERİ. Elektronik Öncesi Kuşak. Bilgisayar Tarihi. Elektronik Kuşak. Elektronik Kuşak. Bilgisayar teknolojisindeki gelişme Giriş MİKROİŞLEMCİ SİSTEMLERİ Bilgisayar teknolojisindeki gelişme Elektronik öncesi kuşak Elektronik kuşak Mikroişlemci kuşağı Yrd. Doç. Dr. Şule Gündüz Öğüdücü 1 Bilgisayar Tarihi Elektronik Öncesi Kuşak

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları SABİTLER VE DEĞİŞKENLER Değişken, verilerin bellekte geçici olarak kaydedilmesini ve gerektiğinde kullanılmasını sağlayan değerdir. Nesne tabanlı programlama dilinde değişken kullanımı diğer programlama

Detaylı

SAYI VE KODLAMA SİSTEMLERİ. Teknoloji Fakültesi/Bilgisayar Mühendisliği

SAYI VE KODLAMA SİSTEMLERİ. Teknoloji Fakültesi/Bilgisayar Mühendisliği SAYI VE KODLAMA SİSTEMLERİ Teknoloji Fakültesi/Bilgisayar Mühendisliği Neler Var? Sayısal Kodlar BCD Kodu (Binary Coded Decimal Code) - 8421 Kodu Gray Kodu Artı 3 (Excess 3) Kodu 5 de 2 Kodu Eşitlik (Parity)

Detaylı

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1 BMT 101 Algoritma ve Programlama I 6. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Veri Tipleri Yük. Müh. Köksal Gündoğdu 2 Veri Tipleri Tam sayı ve Ondalık sayı veri tipleri Veri Tipi Alt Sınıf Üst Sınıf Duyarlı

Detaylı

2. SAYI SİSTEMLERİ VE KODLAR

2. SAYI SİSTEMLERİ VE KODLAR 2. SAYI SİSTEMLERİ VE KODLAR 2.1. Sabit Noktalı Sayı Sistemleri 2.1.1. Ondalık Sayı Sistemi Günlük yaşantımızda kullandığımız sayı sistemi ondalık (decimal) sayı sistemidir. Ayrıca 10 tabanlı sistem olarak

Detaylı

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

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1 Programlama Dilleri C Dili Programlama Dilleri-ders02/ 1 Değişkenler, Sabitler ve Operatörler Değişkenler (variables) bellekte bilginin saklandığı gözlere verilen simgesel isimlerdir. Sabitler (constants)

Detaylı

Nesne Tabanlı Programlama

Nesne Tabanlı Programlama Nesne Tabanlı Programlama Ders Notu - 1 (Değerler, Değişkenler, İşleçler, Tip Dönüşümleri, Mantıksal Operatörler) Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Değerler

Detaylı

Nesne Tabanlı Programlama

Nesne Tabanlı Programlama Nesne Tabanlı Programlama Ders Notu - 1 Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Değerler ve Değişkenler Values & Variables 2 1 Değişkenlerin Özellikleri Tipi

Detaylı

SAYILAR DOĞAL VE TAM SAYILAR

SAYILAR DOĞAL VE TAM SAYILAR 1 SAYILAR DOĞAL VE TAM SAYILAR RAKAM: Sayıları ifade etmek için kullandığımız 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 sembollerinden her birine rakam denir. Soru: a ve b farklı rakamlar olmak üzere a + b nin alabileceği

Detaylı

BLM221 MANTIK DEVRELERİ

BLM221 MANTIK DEVRELERİ 1. HAFTA BLM221 MANTIK DEVRELERİ Prof. Dr. Mehmet Akbaba mehmetakbaba@karabuk.edu.tr KBUZEM Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi Temel Kavramlar Sayı Sistemlerinin İncelenmesi

Detaylı

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

Sayı sistemleri iki ana gruba ayrılır. 1. Sabit Noktalı Sayı Sistemleri. 2. Kayan Noktalı Sayı Sistemleri 2. SAYI SĐSTEMLERĐ VE KODLAR .1. Sabit Noktalı Sayı Sistemleri. SAYI SĐSTEMLERĐ VE KODLAR Sayı sistemleri iki ana gruba ayrılır. 1. Sabit Noktalı Sayı Sistemleri. Kayan Noktalı Sayı Sistemleri.1.1. Sayı Sistemi Günlük yaşantımızda

Detaylı

C Dersi Bölüm 1. Bilgisayar Donanımı

C Dersi Bölüm 1. Bilgisayar Donanımı C Dersi Bölüm 1 M Bodur 1 Bilgisayar Donanımı Bilgisayarın yapısını ve çalışma prensiplerini bilmemiz Bir bilgisayar programından neler bekleyebileceğimizi anlamamızı sağlar. Bigisayar dört temel birimden

Detaylı

1. Bölüm Sayı Sistemleri

1. Bölüm Sayı Sistemleri 1. Bölüm Sayı Sistemleri Algoritma ve Programlamaya Giriş Dr. Serkan DİŞLİTAŞ 1.1. Sayı Sistemleri Sayı sistemleri; saymak, ölçmek gibi genel anlamda büyüklüklerin ifade edilmesi amacıyla kullanılan sistemler

Detaylı

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

Algoritmalar ve Programlama. DERS - 2 Yrd. Doç. Dr. Ahmet SERBES Algoritmalar ve Programlama DERS - 2 Yrd. Doç. Dr. Ahmet SERBES Programlama Bilgisayara ne yapması gerektiğini, yani onunla konuşmamızı sağlayan dil. Tüm yazılımlar programlama dilleri ile yazılır. 1.

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 2 C# Programlama Dili Elemanları Bu bölümde;

Detaylı

Mikrobilgisayarda Aritmetik

Mikrobilgisayarda Aritmetik 14 Mikrobilgisayarda Aritmetik SAYITLAMA DİZGELERİ Sayıları göstermek (temsil etmek) için tarih boyunca türlü simgeler kullanılmıştır. Konumuz bu tarihi gelişimi incelemek değildir. Kullanılan sayıtlama

Detaylı

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

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri BLM-111 PROGRAMLAMA DİLLERİ I Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Temel Veri Tipleri C dilinde

Detaylı

SAYISAL ELEKTRONİK DERS NOTLARI:

SAYISAL ELEKTRONİK DERS NOTLARI: SAYISAL ELEKTRONİK DERS NOTLARI: SAYISAL (DİJİTAL) ELEKTRONİK Günümüz Elektroniği Analog ve Sayısal olmak üzere iki temel türde incelenebilir. Analog büyüklükler sonsuz sayıda değeri içermesine rağmen

Detaylı

Veri Tipleri Aşağıdaki programdaki 5 hatayı bulunuz.

Veri Tipleri Aşağıdaki programdaki 5 hatayı bulunuz. Aşağıdaki programdaki 5 hatayı bulunuz. class hata public static void main() int x; int y; Console.WriteLine("X in degeri = "x); y = x / 2 Console.Write("y nin değeri = x / 2 = "); Console.WriteLine(y);

Detaylı

BILGISAYAR ARITMETIGI

BILGISAYAR ARITMETIGI 1 BILGISAYAR ARITMETIGI Sayısal bilgisayarlarda hesaplama problemlerinin sonuçlandırılması için verileri işleyen aritmetik buyruklar vardır. Bu buyruklar aritmetik hesaplamaları yaparlar ve bilgisayar

Detaylı

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.

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. 2. Sayı Sistemleri Bilgisayar elektronik bir cihaz olduğu için elektrik akımının geçirilmesi (1) yada geçirilmemesi (0) durumlarını işleyebilir. Bu nedenle ikili sayı sistemini temel alarak veri işler

Detaylı

SAYI SİSTEMLERİ. Sayı Sistemleri için Genel Tanım

SAYI SİSTEMLERİ. Sayı Sistemleri için Genel Tanım SAYI SİSTEMLERİ Algoritmalar ve Programlama dersi ile alakalı olarak temel düzeyde ve bazı pratik hesaplamalar dahilinde ikilik, onluk, sekizlik ve onaltılık sayı sistemleri üzerinde duracağız. Özellikle

Detaylı

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

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe Bit, Byte ve Integer BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe Ders kitabına ait sunum dosyalarından adapte edilmiştir: http://csapp.cs.cmu.edu/ Adapted from slides

Detaylı

Yrd.Doç.Dr. Celal Murat KANDEMİR. Kodlama (Coding) : Bir nesneler kümesinin bir dizgi (bit dizisi) kümesi ile temsil edilmesidir.

Yrd.Doç.Dr. Celal Murat KANDEMİR. Kodlama (Coding) : Bir nesneler kümesinin bir dizgi (bit dizisi) kümesi ile temsil edilmesidir. Bilgisayar Mimarisi İkilik Kodlama ve Mantık Devreleri Yrd.Doç.Dr. Celal Murat KANDEMİR ESOGÜ Eğitim Fakültesi - BÖTE twitter.com/cmkandemir Kodlama Kodlama (Coding) : Bir nesneler kümesinin bir dizgi

Detaylı

C Programlama Dilininin Basit Yapıları

C Programlama Dilininin Basit Yapıları Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade

Detaylı

Atatürk Anadolu. Temel Kavramlar Üzerine Kısa Çalışmalar

Atatürk Anadolu. Temel Kavramlar Üzerine Kısa Çalışmalar Atatürk Anadolu Lisesi M A T E M A T İ K Temel Kavramlar Üzerine Kısa Çalışmalar KONYA \ SELÇUKLU 01 MATEMATİK 1. TEMEL KAVRAMLAR 1.1. RAKAM Sayıların yazılmasında kullanılan sembollere rakam denir. Onluk

Detaylı

10 LU SAYISAL SİSTEMİ İLE 2 Lİ SAYISAL SİSTEMİ ARASINDA ÇEVİRİM UYGULAMASI

10 LU SAYISAL SİSTEMİ İLE 2 Lİ SAYISAL SİSTEMİ ARASINDA ÇEVİRİM UYGULAMASI 10 LU SAYISAL SİSTEMİ İLE 2 Lİ SAYISAL SİSTEMİ ARASINDA ÇEVİRİM UYGULAMASI Sayısal Sistemler Sayısal sistem, sayıları temsil eden simgeler için bir yazma sistemi yani matematiksel bir gösterim sistemidir.

Detaylı

Bilgisayar Bilimlerine Giriş 1

Bilgisayar Bilimlerine Giriş 1 Bilgisayar Bilimlerine Giriş 1 Dokuz Eylül Üniversitesi Bilgisayar Bilimleri Bölümü DR. RESMİYE NASİBOĞLU E-POSTA: RESMİYE.NASİBOGLU@DEU.EDU.TR ARAŞ. GÖR BARIŞ TEKİN TEZEL E-POSTA: BARİS.TEZEL@DEU.EDU.TR

Detaylı

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 Bit, Byte ve Integer BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe Ders kitabına ait sunum dosyalarından adapte edilmiştir: http://csapp.cs.cmu.edu/ Adapted from slides

Detaylı

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 Bit, Byte ve Integer BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Dr. Öğr. Üyesi Fatih Gökçe Ders kitabına ait sunum dosyalarından adapte edilmiştir: http://csapp.cs.cmu.edu/ Adapted from slides

Detaylı

BÖLÜM 2 SAYI SĐSTEMLERĐ (NUMBER SYSTEMS)

BÖLÜM 2 SAYI SĐSTEMLERĐ (NUMBER SYSTEMS) BÖLÜM 2 SAYI SĐSTEMLERĐ (NUMBER SYSTEMS) Giriş Sayma ve sayı kavramının yeryüzünde ilk olarak nerede ve ne zaman doğduğu bilinmemekle beraber, bazı buluntular Sümer lerin saymayı bildiklerini ve bugün

Detaylı

Bilgisayar Mimarisi. Veri (DATA) Veri nedir? Veri bazı fiziksel niceliklerin ham ifadesidir. Bilgi verinin belli bir yapıdaki şeklidir.

Bilgisayar Mimarisi. Veri (DATA) Veri nedir? Veri bazı fiziksel niceliklerin ham ifadesidir. Bilgi verinin belli bir yapıdaki şeklidir. Bilgisayar Mimarisi Sayısallaştırma ve Sayı Sistemleri Yrd.Doç.Dr. Celal Murat KANDEMİR ESOGÜ Eğitim Fakültesi - BÖTE twitter.com/cmkandemir Veri nedir? Veri bazı fiziksel niceliklerin ham ifadesidir.

Detaylı

n. basamak... 4. basamak 3. basamak 2. basamak 1. basamak Üstel değer 10 n-1... 10 3 10 2 10 1 10 0 Ağırlık 10 n-1...

n. basamak... 4. basamak 3. basamak 2. basamak 1. basamak Üstel değer 10 n-1... 10 3 10 2 10 1 10 0 Ağırlık 10 n-1... KAYNAK : http://osmanemrekandemir.wordpress.com/ SAYI SISTEMLERI Decimal(Onlu) Sayı sistemi günlük hayatta kullandığım ız 0,1,2,3,4,5,6,7,8,9 rakamlarından oluşur. Decimal(Onlu) Sayı sisteminde her sayı

Detaylı

T.C. KOCAELİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ

T.C. KOCAELİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ T.C. KOCAELİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ Yrd. Doç. Dr. Mustafa Hikmet Bilgehan UÇAR 1 MANTIK DEVRELERİ Yrd. Doç. Dr. Mustafa Hikmet Bilgehan UÇAR Digital Electronics

Detaylı

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

Konular MİKROİŞLEMCİ SİSTEMLERİ. Giriş. Bilgisayar Tarihi. Elektronik Kuşak. Elektronik Öncesi Kuşak Konular MİKROİŞLEMCİ SİSTEMLERİ Giriş: Bilgisayar Tarihi Mikroişlemci Temelli Sistemler Sayı Sistemleri Doç. Dr. Şule Gündüz Öğüdücü http://ninova.itu.edu.tr/tr/dersler/bilgisayar-bilisim-fakultesi/30/blg-212/

Detaylı

Sayıtlama Dizgeleri. (a n a n-1 a n1 a n0. b 1 b 2 b m )r. simgesi şu sayıyı temsil eder.

Sayıtlama Dizgeleri. (a n a n-1 a n1 a n0. b 1 b 2 b m )r. simgesi şu sayıyı temsil eder. 1 Sayıtlama Dizgeleri Hint-Arap Sayıtlama Dizgesi Sayıları göstermek (temsil etmek) için tarih boyunca türlü simgeler kullanılmıştır. Sümerlerin, Mısırlıların, Romalıların ve diğer uygarlıkların kullandıkları

Detaylı

PASCAL PROGRAMLAMA DİLİ YAPISI

PASCAL PROGRAMLAMA DİLİ YAPISI BÖLÜM 3 PASCAL PROGRAMLAMA DİLİ YAPISI 3.1. Giriş Bir Pascal programı en genel anlamda üç ayrı kısımdan oluşmuştur. Bu kısımlar bulunmaları gereken sıraya göre aşağıda verilmiştir. Program Başlığı; Tanımlama

Detaylı

Integer Sınıfı. 9.1 Integer Sınıfına Uygulanan Başlıca Metotlar. Ruby de tamsayılar için kullanılan Fixnum ve Bignum sınıflarını üreten sınıftır.

Integer Sınıfı. 9.1 Integer Sınıfına Uygulanan Başlıca Metotlar. Ruby de tamsayılar için kullanılan Fixnum ve Bignum sınıflarını üreten sınıftır. 9 Integer Sınıfı Ruby de tamsayılar için kullanılan Fixnum ve Bignum sınıflarını üreten sınıftır. Integer Literal Tamsayı gösteren metinler, 1 0, 1, 123, 123456789012345678901234567890 biçiminde yalnızca

Detaylı

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

Bit, Byte ve Integer. BIL-304: Bilgisayar Mimarisi. Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe Bit, Byte ve Integer BIL-304: Bilgisayar Mimarisi Dersi veren öğretim üyesi: Yrd. Doç. Dr. Fatih Gökçe Ders kitabına ait sunum dosyalarından adapte edilmiştir: http://csapp.cs.cmu.edu/ Adapted from slides

Detaylı

TAMSAYILAR. 9www.unkapani.com.tr. Z = {.., -3, -2, -1, 0, 1, 2, 3, } kümesinin her bir elemanına. a, b, c birer tamsayı olmak üzere, Burada,

TAMSAYILAR. 9www.unkapani.com.tr. Z = {.., -3, -2, -1, 0, 1, 2, 3, } kümesinin her bir elemanına. a, b, c birer tamsayı olmak üzere, Burada, TAMSAYILAR Z = {.., -, -, -, 0,,,, } kümesinin her bir elemanına tamsayı denir. Burada, + Z = {,,,...} kümesine, pozitif tamsayılar kümesi denir. Z = {...,,,,} kümesine, negatif tamsayılar kümesi denir.

Detaylı

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

2. SAYI SİSTEMLERİ. M.İLKUÇAR - imuammer@yahoo.com Sayı Sistemleri İşlemci elektrik sinyalleri ile çalışır, bu elektrik sinyallerini 1/0 şeklinde yorumlayarak işlemcide olup bitenler anlaşılabilir hale getirilir. Böylece gerçek hayattaki bilgileri 1/0

Detaylı

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.

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. 2. Sayı Sistemleri Bilgisayar elektronik bir cihaz olduğu için elektrik akımının geçirilmesi (1) yada geçirilmemesi (0) durumlarını işleyebilir. Bu nedenle ikili sayı sistemini temel alarak veri işler

Detaylı

TABAN ARĠTMETĠĞĠ. ÇÖZÜM (324) 5 = = = = 89 bulunur. Doğru Seçenek C dir.

TABAN ARĠTMETĠĞĠ. ÇÖZÜM (324) 5 = = = = 89 bulunur. Doğru Seçenek C dir. TABAN ARĠTMETĠĞĠ Kullandığımız 10 luk sayma sisteminde sayılar {0,1,2,3,4,5,6,7,8,9} kümesinin elemanları (Rakam) kullanılarak yazılır. En büyük elemanı 9 olan, 10 elemanlı bir kümedir. Onluk sistemde;

Detaylı

VHDL ile KODLAMA ve HATA BULMA TEKNİKLERİ

VHDL ile KODLAMA ve HATA BULMA TEKNİKLERİ KARADENİZ TEKNİK ÜNİVERSİTESİ Bilgisayar Mühendisliği Bölümü Sayısal Tasarım Laboratuarı VHDL ile KODLAMA ve HATA BULMA TEKNİKLERİ 1.Giriş Kodlama, elektronik dünyasında çok sık kullanılan, hatta vazgeçilmesi

Detaylı

ÜSLÜ SAYILAR SİBEL BAŞ AKDENİZ ÜNİVERSİTESİ EĞİTİM FAK. İLKÖĞRT. MAT. ÖĞRT. 2. SINIF

ÜSLÜ SAYILAR SİBEL BAŞ AKDENİZ ÜNİVERSİTESİ EĞİTİM FAK. İLKÖĞRT. MAT. ÖĞRT. 2. SINIF ÜSLÜ SAYILAR SİBEL BAŞ 20120907010 AKDENİZ ÜNİVERSİTESİ EĞİTİM FAK. İLKÖĞRT. MAT. ÖĞRT. 2. SINIF 1 ANLATIMI ÜSLÜ SAYILAR KONU Üslü sayılar konu anlatımı içeriği; Üslü sayıların gösterimi, Negatif üslü

Detaylı

Toplama işlemi için bir ikili operatör olan artı işareti aynı zamanda tekli operatör olarak da kullanılabilir.

Toplama işlemi için bir ikili operatör olan artı işareti aynı zamanda tekli operatör olarak da kullanılabilir. www.csharpturk.net Türkiye nin C# Okulu Yazar Yunus Özen Eposta yunus@yunus.gen.tr Tarih 08.04.2006 Web http://www.yunusgen.tr ARİTMETİK OPERATÖRLER VE KULLANIM ŞEKİLLERİ Bilgisayarlar yapıları gereği,

Detaylı

Buna göre, eşitliği yazılabilir. sayılara rasyonel sayılar denir ve Q ile gösterilir. , -, 2 2 = 1. sayıdır. 2, 3, 5 birer irrasyonel sayıdır.

Buna göre, eşitliği yazılabilir. sayılara rasyonel sayılar denir ve Q ile gösterilir. , -, 2 2 = 1. sayıdır. 2, 3, 5 birer irrasyonel sayıdır. TEMEL KAVRAMLAR RAKAM Bir çokluk belirtmek için kullanılan sembollere rakam denir. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 sembolleri birer rakamdır. 2. TAMSAYILAR KÜMESİ Z = {..., -3, -2, -1, 0, 1, 2, 3, 4,... }

Detaylı

2.2- DEĞİŞKENLER VE SABİTLER ÇALIŞMA YAPRAĞI

2.2- DEĞİŞKENLER VE SABİTLER ÇALIŞMA YAPRAĞI 2.2 Değişkenler Ve Sabitler 2.2.1 Değişkenler Değişkenler bir programlama dilinde verilerin depolanma alanlarını temsil eder. Tanımlanan her değişkene bellek bölgesinden bir alan ayrılır. Bu bellek bölgesine

Detaylı

SAYISAL DEVRELER. İTÜ Bilgisayar Mühendisliği Bölümündeki donanım derslerinin bağlantıları

SAYISAL DEVRELER. İTÜ Bilgisayar Mühendisliği Bölümündeki donanım derslerinin bağlantıları SAYISAL DEVRELER Doç.Dr. Feza BUZLUCA İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü Sayısal Devreler Ders Notlarının Creative Commons lisansı Feza BUZLUCA ya aittir. Lisans: http://creativecommons.org/licenses/by-nc-nd/3.0/

Detaylı

RASYONEL SAYILAR. ÖRNEK: Aşağıda verilen eşitliklerde verilmeyen harflere karşılık gelen tamsayıları bulunuz. RASYONEL SAYILAR A =?

RASYONEL SAYILAR. ÖRNEK: Aşağıda verilen eşitliklerde verilmeyen harflere karşılık gelen tamsayıları bulunuz. RASYONEL SAYILAR A =? Kazanım : Rasyonel sayıları tanır ve sayı doğrusunda gösterir. RASYONEL SAYILAR a bir tamsayı ve b sıfırdan farklı bir tamsayı olmak üzere a b biçiminde yazılabilen sayılara rasyonel sayılar denir. Rasyonel

Detaylı

Hatalar ve Bilgisayar Aritmetiği

Hatalar ve Bilgisayar Aritmetiği Hatalar ve Bilgisayar Aritmetiği Analitik yollardan çözemediğimiz birçok matematiksel problemi sayısal yöntemlerle bilgisayarlar aracılığı ile çözmeye çalışırız. Bu şekilde Sayısal yöntemler kullanarak

Detaylı

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

EGE ÜNİVERSİTESİ EGE MYO MEKATRONİK PROGRAMI EGE ÜNİVERSİTESİ EGE MYO MEKATRONİK PROGRAMI 23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 2 PROGRAMLANABİLİR DENETLEYİCİLER NÜMERİK İŞLEME 23.02.2015 Yrd.Doç.Dr. Dilşad Engin PLC Ders Notları 3

Detaylı

MAK 210 SAYISAL ANALİZ

MAK 210 SAYISAL ANALİZ MAK 210 SAYISAL ANALİZ BÖLÜM 2- HATA VE HATA KAYNAKLARI Doç. Dr. Ali Rıza YILDIZ 1 GİRİŞ Bir denklemin veya problemin çözümünde kullanılan sayısal yöntem belli bir giriş verisini işleme tabi tutarak sayısal

Detaylı

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ C# Yazım Kuralları 1 İçindekiler C# Yazım Kuralları Veritipleri Değişkenler Operatörler Sınıflar Nesneler, Özellik, Metot ve Olay Bileşenler 2 C# yazım kuralları Deyimlerde büyük küçük harf yazıma uyulmalı

Detaylı

BLM221 MANTIK DEVRELERİ

BLM221 MANTIK DEVRELERİ 2. HAFTA BLM221 MANTIK DEVRELERİ Prof. Dr. Mehmet Akbaba mehmetakbaba@karabük.edu.tr KBUZEM Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi Temel Kavramlar Tümleyen Aritmetiği r Tümleyeni

Detaylı

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 Kitabın Amacı 1 Algoritmanın Önemi 2 Bilgisayarın Doğuşu ve Kullanım Amaçları 3 Programlama Dili Nedir? 3 Entegre Geliştirme Ortamı (IDE) Nedir? 4 2 ALGORİTMA VE AKIŞ

Detaylı

MATEMATİK. Doç Dr Murat ODUNCUOĞLU

MATEMATİK. Doç Dr Murat ODUNCUOĞLU MATEMATİK Doç Dr Murat ODUNCUOĞLU Mesleki Matematik 1 TEMEL KAVRAMLAR RAKAM Sayıları yazmak için kullandığımız işaretlere rakam denir. Sayıları ifade etmeye yarayan sembollere rakam denir. Rakamlar 0,1,2,3,4,5,6,7,8,9

Detaylı

Programlama Dilleri III 1

Programlama Dilleri III 1 Temel Veri Türleri Programlama Dilleri III 1 İlk C# Programı class ilk_program1 static void Main() System.Console.WriteLine("Merhaba C#"); C# dilinde yazılmış kaynak kod dosyalarının uzantıları.cs dır.

Detaylı

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA BÖLÜM-II ALGORİTMA I. GİRİŞ Bilgisayar dünyasında, insanın

Detaylı

/*int sayi1, sayi2,toplam=0;

/*int sayi1, sayi2,toplam=0; static void Main(string[] args) { //--------------------1. ders-------------------- -------- / ekrana yazma ekrandan okuma sayısal değerleri okuma yer tutucular basit tip dönüşümü / /int sayi1, sayi2,toplam=0;

Detaylı

Elektroniğe Giriş 1.1

Elektroniğe Giriş 1.1 İTÜ Bilgisayar Mühendisliği Bölümündeki donanım derslerinin bağlantıları Sayısal devreler bölümdeki diğer donanım dersinin temelini oluşturmaktadır. Elektroniğe Giriş SAYISAL DEVRELER Sayısal Elektronik

Detaylı

2. ÜNİTE RASYONEL,ÜSLÜ VE KÖKLÜ SAYILAR

2. ÜNİTE RASYONEL,ÜSLÜ VE KÖKLÜ SAYILAR 2. ÜNİTE RASYONEL,ÜSLÜ VE KÖKLÜ SAYILAR KONULAR 1. RASYONEL SAYILAR 2. Kesir Çeşitleri 3. Kesirlerin Sadeleştirilmesi 4. Rasyonel Sayılarda Sıralama 5. Rasyonel Sayılarda İşlemler 6. ÜSLÜ İFADE 7. Üssün

Detaylı

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

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 Kapılardaki gecikme 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 Kapılardaki gecikme miktarının hesaplanması

Detaylı

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

OCTAL (SEKİZLİ) SAYI SİSTEMİ: 5.HAFTA OCTAL (SEKİZLİ) SAYI SİSTEMİ: Sayısal Sistemler ikilik sayı sistemini kullansalar da bir tasarımcı için Binary (İkilik) sayılarla işlem yapmak zahmetli bir işlem olması nedeniyle ve hafızada daha

Detaylı

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak. Selçuk Üniversitesi Mühendislik Fakültesi Harita Mühendisliği Bölümü ra Sınavı Test Soruları dı soyadı :... Öğrenci no :... İmza :... Tarih, Süre :13.04.2017 60 dak. Dikkat!!! Soru kitapçığında ve cevap

Detaylı

Programlama Dilleri 3

Programlama Dilleri 3 Tür Dönüşümü 1 Farklı türden değişkenlerin aynı ifade içinde işlem görmeleri için tür dönüşümü kullanılır. Tür dönüşümlerini aşağıdaki şekilde gruplara ayırmak mümkündür: Tür Dönüşümleri Bilinçli(explicit)

Detaylı

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

DERS NOTLARI. Yard. Doç. Dr. Namık AKÇAY İstanbul Üniversitesi Fen Fakültesi DERS NOTLARI Yard. Doç. Dr. Namık AKÇAY İstanbul Üniversitesi Fen Fakültesi DERS-2 22.02.2016 Binary Numbers The Computer Number System İkili sayı Sistemi Bilgisayar Sayı Sistemi Sayı sistemleri nesneleri

Detaylı

2) Aşağıda verilen işlemleri yazınız. g) ( ) 3) Aşağıda verilen işlemleri yazınız. 4) Aşağıda verilen işlemleri yazınız.

2) Aşağıda verilen işlemleri yazınız. g) ( ) 3) Aşağıda verilen işlemleri yazınız. 4) Aşağıda verilen işlemleri yazınız. 8.2. ÜSLÜ SAYILARDA İŞLEM 8.2..A ÜSLÜ SAYILARDA TOPLAMA VE ÇIKARMA İŞLEMİ 2) Aşağıda verilen işlemleri yazınız. 2 ( + 2) + ( ) 3 ( 2) + ( 2) Üslü sayılarda toplama veya çıkarma işleminde her üslü niceliğin

Detaylı

ÜSLÜ SAYILAR. AMAÇ 1: 6 ve 7. Sınıflarda görmüş olduğumuz üslü ifadelerdeki temel kavramları hatırlama

ÜSLÜ SAYILAR. AMAÇ 1: 6 ve 7. Sınıflarda görmüş olduğumuz üslü ifadelerdeki temel kavramları hatırlama AMAÇ 1: 6 ve 7. Sınıflarda görmüş olduğumuz üslü ifadelerdeki temel kavramları hatırlama KURAL: Bir sayının belli bir sayıda yan yana çarpımının kolay yoldan gösterimine üslü sayılar denir. Örneğin 5 sayısının

Detaylı

Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir

Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir DİZİLER (ARRAYS) Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir değişken tanımlamak gereklidir. string gun1,

Detaylı

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while Değişkenler Değişkenler bir bilginin bellekteki konumunu temsil eden sembolik isimlerdir. Bilgisayarda hemen hemen tüm işlemler bellekte yapılır. Program çalıştırıldığında değişken ve bu değişkenin türüne

Detaylı

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

Sayı Sistemleri. Onluk, İkilik, Sekizlik ve Onaltılık sistemler Dönüşümler Tümleyen aritmetiği Sayı Sistemleri Onluk, İkilik, Sekizlik ve Onaltılık sistemler Dönüşümler Tümleyen aritmetiği Giriş Bilgisayar ış ünyaan verileri sayılar aracılığı ile kabul eer. Günümüz teknolojisine bu işlem ikilik

Detaylı

TAM SAYILARDA ÇARPMA BÖLME İŞLEMLERİ ESRA ÇAKIR

TAM SAYILARDA ÇARPMA BÖLME İŞLEMLERİ ESRA ÇAKIR Kazanım: Tam sayılarla çarpma ve bölme işlemleri yapar. Tam sayılarla işlemler yapmayı gerektiren problemleri çözer. HATIRLATMA :TAM SAYILARDA TOPLAMA İŞLEMİ Aynı işaretli tam sayılar toplanırken işaretleri

Detaylı

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod) 2017-2018 BaharYarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü 3 BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod) Yrd. Doç. Dr. İbrahim Küçükkoç Web: ikucukkoc.baun.edu.tr

Detaylı

SAYILAR SAYI KÜMELERİ

SAYILAR SAYI KÜMELERİ SAYILAR SAYI KÜMELERİ 1.Sayma Sayıları Kümesi: S=N =1,2,3,... 2. Doğal Sayılar Kümesi : N=0,1,2,... 3. Tamsayılar Kümesi : Z=..., 2, 1,0,1,2,... Sıfırın sağında bulunan 1,2,3,. tamsayılarına pozitif tamsayılar

Detaylı

SAYILAR SAYI KÜMELERİ

SAYILAR SAYI KÜMELERİ 1 SAYILAR SAYI KÜMELERİ 1.Sayma Sayıları Kümesi: S=N =1,2,3,... 2. Doğal Sayılar Kümesi : N=0,1,2,... 3. Tamsayılar Kümesi : Z=..., 2, 1,0,1,2,... Sıfırın sağında bulunan 1,2,3,. tamsayılarına pozitif

Detaylı

Mikroişlemcilerde Aritmetik

Mikroişlemcilerde Aritmetik Mikroişlemcilerde Aritmetik Mikroişlemcide Matematiksel Modelleme Mikroişlemcilerde aritmetik işlemler (toplama, çıkarma, çarpma ve bölme) bu iş için tasarlanmış bütünleşik devrelerle yapılır. Bilindiği

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Kodlarına Yorum Satırı Eklemek Java Paket Kavramı Java Kütüphane Kavramı Konsoldan Veri Çıkışı ve JOPtionPane Kütüphanesi JOptionPane Kütüphanesi Kullanarak

Detaylı

ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA II ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Bellek ve Adresleme İşaretçi Kavramı

Detaylı

Programlama Giriş. 17 Ekim 2015 Cumartesi Yrd. Doç. Dr. Mustafa YANARTAŞ 1

Programlama Giriş. 17 Ekim 2015 Cumartesi Yrd. Doç. Dr. Mustafa YANARTAŞ 1 17 Ekim 2015 Cumartesi Yrd. Doç. Dr. Mustafa YANARTAŞ 1 Ders Not Sistemi Vize : % 40 Final : % 60 Kaynaklar Kitap : Algoritma Geliştirme ve Programlama Giriş Yazar: Dr. Fahri VATANSEVER Konularla ilgili

Detaylı

PROGRAMLAMAYA GİRİŞ DERS 2

PROGRAMLAMAYA GİRİŞ DERS 2 PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı

Detaylı

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 13.04.2015 Süre : 60 dak. 1. Hangisi gerçek sayı değişmezi değildir?

Detaylı

İKİLİ SAYILAR VE ARİTMETİK İŞLEMLER

İKİLİ SAYILAR VE ARİTMETİK İŞLEMLER İKİLİ SAYILAR VE ARİTMETİK İŞLEMLER DENEY 3 GİRİŞ Bu deneyde kurulacak devreler ile işaretsiz ve işaretli ikili sayılar üzerinde aritmetik işlemler yapılacak; işaret, elde, borç, taşma kavramları incelenecektir.

Detaylı

FORMÜLLER VE FONKSİYONLAR

FORMÜLLER VE FONKSİYONLAR C FORMÜLLER VE FONKSİYONLAR Konuya Hazırlık 1. Excel de formül kullanmanın faydalarını açıklayınız. Formüller, bir sayfadaki verileri kullanarak işlem yapan denklemlerdir. Bir formülde, aynı sayfadaki

Detaylı

C Konsol Giriş Çıkış Fonksiyonları

C Konsol Giriş Çıkış Fonksiyonları C Konsol Giriş Çıkış Fonksiyonları Öğr. Gör. M. Ozan AKI Rev 1.0 Stringlerde Özel Karakterler \n : Bir sonraki satırın ilk sütununa git \b : Backspace (önceki karakteri sil) \a : Bip sesi \\ : Ters bölü

Detaylı

ÜNİTE: TAM SAYILAR KONU: Tam Sayılar Kümesinde Çıkarma İşlemi

ÜNİTE: TAM SAYILAR KONU: Tam Sayılar Kümesinde Çıkarma İşlemi ÜNE: AM AYIAR N: am ayılar ümesinde Çıkarma şlemi ÖRNE RAR VE ÇÖZÜMER 1. [(+17) (+25)] + [( 12) (+21)] işleminin sonucu A) 41 B) 25 C) 25 D) 41 Çıkarma işlemi yapılırken çıkanın işareti değişir ve eksilen

Detaylı

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

2. SAYI SİSTEMLERİ 2. SAYI SİSTEMLERİ Decimal ( Onlu 0,,,3,4,5,6,7,8,9 On adet digit). D ile gösterilir. Binary ( İkili 0, iki adet digit ). B ile gösterilir. Oktal ( Sekizli 0,,,3,4,5,6,7 sekiz adet digit ). O ile gösterilir. Hexadecimal

Detaylı