Favorilerine Ekle | Giriş Sayfan Yap | Tavsiye Et

 

Kurs Tanıtım Sayfası | Süper Üye Kimdir? | Menü Tasarımı Konulu Örnek Ders
Kod İndir| Hazır Kodlar | Makaleler| İpuçları | VB .NET Kursu | Dersler | Forum | Alt Bölümler | Servisler
    Merhaba Misafir
    anasayfa » visual basic makaleleri » Sayı Sistemi Nedir Yenir mi
Üye Girişi
Kullanıcı Adı:  
Şifre : 
Kaydet ?
Siteden tam olarak faydalanabilmek için üye olmalısınız.
Unuttuğunuz şifrenizi öğrenebilmek için kayıt sırasında verdiğiniz Hatırlatma Cevabı'nı bilmeniz gereklidir.
Şifre hatırlatma işlevini sadece 3 defa kullanma hakkınız vardır.
Kullanıcı adını ve şifresini unutan üyelere email ile yardım verilmez.

Aktivasyon Gelmedi mi?Aktivasyon mesajınız email adresinize gelmedi mi?
Buraya tıklayarak bir kez daha aktivasyon mesajı gönderilmesini sağlayabilirsiniz.
Lütfen email hesabınızın BULK ve SPAM klasörlerini de kontrol ediniz.
Rastgele Makale

LINEER DENKLEM TAKIMI COZER

Yazar: suatozkul
[K]x[X]=[P]
[K] ve [P] Bilinen katsayılardır
[X] aranan bilinmeyenlerdir



Webmasterlar
Sitenize Ekleyin!
Sitenizde "Son Eklenen 10 Visual Basic Yazısı"'nı göstermek ve içeriğini zenginleştirmek için buraya tıklayınız.

Vbasicmaster.com'a link verin!
Aşağıdaki minik banneri sitenize eklemek için tıklayın!

Üye Sayısı:
Ziyaretçiler nerede?
Yayın № : 11761
Yayın Tar:11.12.2009
Yazar : yusufd54
Hit :1051

Bu Yazarın Yazıları Sadece bu yazarın makale göster
Bu Yazıyı Tavsiye Et

SAYI SİSTEMİ NEDİR? YENİR Mİ?

Sayı sistemi konusu eminim bir şekilde programlamayla uğraşanların ilgisini çekmiştir. Daha doğrusu, çekmekle kalmıştır. Oysa bu konu şifreleme,dosyalama ve matematiksel işlemler için programcıya çok büyük yararlar sağlayabilir. Eğer onluk sayı sistemi dışındakilere de ucundan kıyısından bulaşayım diyorsanız, sizi şöyle alalım.
Bu konuyu tam anlamıyla kavramanın yolu ilk önce onluk sayı sistemini şöyle iyice bir kurcalamaktan, mantığını çözmekten geçiyor. Öncelikle sayıların tamamen bir olasılık hesabından ibaret olduğunu söylemeliyim. Ortaokul düzeyinde matematiği olanların(mesela ben :) ) kolayca çözebileceği şekilde, elimizde iki haneli bir ondalık sayı varsa, onluk sayı sisteminde de 10 tane simge(0123456789) bulunduğuna ve ilk basamağa “0” koyamayacağımıza göre 10*10-1=99 en fazla 99 tane farklı sayı yazabiliriz. Temel yapı budur.
Şimdi bunu biaz daha kurcalayıp esas mantığa gelelim. Bize ilkokulda öğretilen şey şuydu= “Basamak ne kadar büyükse 1’e o kadar 0 ekle ve basamaktaki sayıyla çarp.” Peki neden oraya sıfır ekliyorduk? Basamaklar kuvvetiyle çoğalır da ondan. Şöyle açıklamak gerekirse 125 sayısı=

5 * 10üssü0(=5 her sayının 0 ile kuvveti 1’dir) + 2*10üssü1(=20) + 1*10üssü3(=100)
yani 5 + 20 + 100 =125

Gördüğünüz gibi gittikçe artan bir şekilde 10’un kuvvetiyle çarpıyoruz. Ve dikkatinizi çekerse tersten başladık, çünkü en küçük basamak en sağdakidir. Basit bir açıklaması var, değil mi? Şimdi bir de 2lik sayı sistemine göz atalım.

2lik sayı sistemi belli ki hard diskte ve ram’de kolayca bilgi saklayabilmek için ortaya çıkmış bir zımbırtıdır. Mesela bir CD’nin üzerinde taranan yerde delik varsa 0 yoksa 1 olarak kaydedebilmek için. Ya da tam tersi, açıkçası umrumda değil!!! 2lik sayı sisteminde tabii ki iki simge vardır(0,1) . Yani bu sefer 10’un kuvvetlerini değil de 2’nin kuvvetlerini alacağız. Yani bu sefer karşımızda 2ler basamağı, 4ler basamağı,8ler basamağı,16lar basamağı falan olacak(Ya ne olacağıdı). Bildiğiniz gibi 1 byte 8 bit, 1 integer 16bit, 1 Long 32bit yer tutuyor (VB6’da). Bunları oturup kendiniz de hesaplayabilirsiniz. Permütasyon hesabına göre her basamakta 2 farklı seçenek varsa 2üssü8=256 Yani 0’dan 255’e kadar olan sayıyı 8bitlik alanda saklayabiliyoruz. Şimdi de bir uygulamasını yapalım.

101011 hangi sayıyı temsil ediyor?(vallaha gafadan salladım, ben de şimdi öğrenecem sonucu :) )tersten başlayarak 2’nin kuvvetleriyle çarpıyoruz.

1*2üssü0(=1) + 1*2üssü1(=2) + 0*2üssü2(=0) + 1*2üssü3(=8) + 0* 2üssü4(=0) + 1*2üssü5(=32)

1+2+8+32=43 sayısına denk geliyor imiş.

Ben burada hiçbir kalıba sığmayan 7bitlik bir uzunluk kullandım, bu 0 ile 127 arası sayılar anlamına geliyor. Eğer sayı küçükse, uygun uzunluğa getirmek için başına istediğiniz kadar 0 ekleyebilirsiniz, bu hiçbir şey ifade etmez. Ama çarpmaya ters yönden başladığımız için aman sonuna eklemeyin.
Şimdi diyeceksiniz ki: “biz bunu onluk sisteme çevirdik, onluk sayıyı ikilik sisteme nası çeviracos?” Şöyle ki nasıl bunları 2’nin kuvvetiyle çarptıysak, şim di de aynı işlemin tersini yapıp bunları paşa paşa 2’ye böleceğiz. Eğer 2’ye bölünebiliyorsa 0, bölünemiyor ise 1 koyacağız. Tam bir deneme olması için önceki sayımız 43’ü ele alacağız. Bakalım aynı sonuca ulaşıyor muyuz?
Ve bölmeye başlıyoruz:

43 / 2 = 21 kalan 1
21 / 2 =10 kalan 1
10 / 2 = 5 kalan 0
5 / 2 =2 kalan 1
2 / 2 = 1 kalan 0
1 / 2 = 0 kalan 1

Ve deneyimiz başarılı oldu(Ya ne olacağıdıııı!!!!). Yine 101011 elde ettik. Şimdi bir de 16lık(Hexadecimal) sayı sğistemine bakalım. (“sğistemine” yazmışım, biliyorum, ama düzeltmiycem.) Bu sistemdeki sembol olayları biraz karışık. Haliyle sayı sembolleri yetmediği için harflere taşıyor(0123456789ABCDEF) Burada da her sayı sisteminde olması zorunlu olan 1ler basamağı(her sayının 0 ile kuvveti 1 olduğundan),16lar basamağı, 256lar basamağı, 4096lar basamağı vs. bulunuyor. Anlayacağınız gibi bu sistemde 3,4 haneli sayılar “hayvansal sayılar” statüsüne giriyor. Mesela yine bir atış yapalım:

3B sayısının ondalık açılımı ne ola ki? Bir bakalım:
(“8,9,A,B” B burada 11 anlamına geliyor)

B*16üssü0(=11) + 3*16üssü1(=48)
11+48=59 imiş.

Şimdi bir de bu 59 sayısını 16lık sisteme geri nasıl çeviririz ona bakalım.Gayet kolay:

59/16=3 kalan 11(Yani B)
3/16=0 kalan 3

Yani 3B… Leziz, değil mi? Buradan yola çıkarak kendinize 3’lük, 5’lik, ne bileyim 31’lik sayı sistemi falan yapabilirsiniz. Hadi kolay gele!





Bu sayfa için henüz yorum eklenmemiş.

© Hakan Ersöz 2000-2013| Üyelik Sözleşmesi | | Ödeme Bildirimi
Sitemizden yenilikleri hemen öğrenin, pop upları engelleyin, chat yapın... ToolBarımızı indirin:
Vasicmaster Toolbar'ı indirin