Bilgisayarların en temel seviyede 0 ve 1 ile çalıştığını artık herkes biliyor. Peki bu ikili sayı sistemi neden kullanılıyor?
1 ve 0’dan oluşan ikili sayı sistemi, çoğu zaman bilgisayarlarla ilişkilendiriliyor. Peki neden bilgisayarların ikili sayı sistemi kullandığını veya neden 10 tabanında işlemler yapmadığını merak ettiniz mi?
Modern bir dijital bilgisayar, geçmişin analog modellerinden farklı olarak iki durum prensibi ile çalışır; açık veya kapalı. Bu durumlar, elektrik akımının ortamda var olup olmamasına karşılık gelir. Eğer elektrik akımı varsa, anlık durum 1 değerini alır, yoksa 0 değerini alır.
Bu duruma örnek olarak Boole cebiri prensipleri ile çalışan ve bir bilgisayarın en küçük yapı taşlarından biri sayılabilecek mantıksal kapıları gösterebiliriz. Yine ikili sayı sistemi ile çalışan bu kapıları kullanabilmek için, kapıların girişlerine ikili sayı tabanında bir veya birden fazla değer gönderilir. Eğer kapıya 1 değeri gönderilecekse girişe elektrik verilir, eğer 0 değeri verilecekse kapıya giden akım toprağa bağlanır. Modern bilgisayarların karmaşık yapısı, en temelde bu prensibe dayanır.
İkili sayı sistemi özünde sadece iki seçenek sunabildiği için, çalışma mekaniklerini bir sonraki aşamaya taşıyabilmek için dizgileri kullanırız. İkili sayı sistemindeki her bir bit veya rakam tek bir 0 veya 1’dir. Her biri devre üzerindeki bir anahtarı temsil eder. Devreye birden fazla anahtar eklersek, aynı sayı sistemini ikiden fazla sayıyı temsil etmek için kullanabiliriz. Örneğin sadece bir bit kullanmak yerine, sekiz tane biti bir araya getirip 1 byte oluşturabiliriz.
Neden ondalık sistem kullanılmıyor?
Yukarıda belirttiğimiz gibi dizgiler sayesinde ikili sayı sistemini kullanıp ikiden fazla sayıyı ve seçeneği temsil edebiliriz. Ancak sayılar büyüdükçe, görünürde kullanılan alan da artmaktadır. 255’in ikili sistemdeki karşılığının 11111111 olduğunu görüp, ikili sayı sisteminin daha fazla bit alanı kapladığını ve neden doğrudan ondalık sistemin kullanılmadığını merak edebilirsiniz. Bu noktada depolanan veri ile ekranda gösterilen veri arasındaki farkı bilmek gerekiyor.
Görünürde ondalık sistemde yazılan bir sayı, sadece 3 bit yer kaplarken aynı sayının ikili sayı sistemindeki karşılığı 8 bit yer kaplıyor. Ancak gerçekte bir sayıyı ondalık tabanda da ikili tabanda da yazsanız, sayı ikili sayı sistemi kullanılarak depolanacağı için, görünen bit farkı sadece ekranda göründüğü ile kalacaktır.
Teorik olarak daha yüksek bir sayı tabanı kullanmak, herhangi bir sayıyı daha az rakam ile temsil etmemizi sağlayacaktır. Ancak devrelerde ikili sayı sisteminin üstüne çıkmak neredeyse imkansızdır. Zira kuantum bilgisayarlar hariç hiçbir devrede, açık ve kapalı dışında bir durum yoktur.
Sekizlik ve onaltılık sayı sistemleri
Sayı sistemleri hakkında bir miktar bilgisi olanlar, söz konusu bilgisayar teknolojileri olduğunda sekizlik (octal) ve onaltılık (hexadecimal) sayı sistemlerinin bahsinin geçtiğini fark edecektir. Bu iki sayı sisteminin sıklıkla tercih edilmesinin sebebi ise, ikinin katları olmalarıdır. Örneğin 1 byte’lık işlemleri ikili sayı sistemi yerine sekizlik sayı sistemi kullanarak gerçekleştirmek programcılar için daha işlevsel olacaktır. Aynı zamanda 32-bitlik renk değerlerini 11111111000000001110111010011001 gibi ikili sayı sistemi yerine FF00EE99 gibi onaltılık sayı sistemi olarak kodlamak daha etkilidir.
İkili taban dışı bilgisayarlar
Günümüzde kullanılan dijital bilgisayarların tamamı ikili sayı sistemini kullanıyor. Bu da devre üzerindeki her anahtar iki farklı durum değeri alabilir anlamına geliyor. Teorik olarak bu anahtarların daha fazla durum değeri alabilmesi durumunda bilgisayarlarımız ikili sayı sisteminin ötesine geçebilir. Ancak böyle bir olasılık günümüzdeki elektronik parçalar ile mümkün değil.
Elbette işin bir de kuantum seviyesi var. Günümüzde kuantum bilgisayarlar, ikili sayı sistemi dışında kübit adı verilen özel bitler sayesinde hem 1 hem de 0 değerini aynı anda taşıyabiliyor. Kuantum bilgisayarlar, kübitler sayesinde tüketici seviyesi bilgisayarlardan binlerce kat daha hızlı işlem yapabiliyor. Bu sebeple ikiden fazla durum değeri alabilen anahtarlar, teoride bilgisayarların inanılmaz bir işlem gücüne sahip olmasını sağlayabilir.
01010100 01100101 01100011 01101000 01101110 01101111 01110000 01100001 01110100
Technopat?
Nasıl? sayı sistemlerinde en yüksek 16 lık hexdesimal var. Onda da F harfinden sonra yok. Benim çevirdiğim;
Hex
54 65 63 68 6E 6F 70 61 74
Hex değil ASCII karakterlerin sayısal karşılıklarının ikili sayılı sistemi karşılığı. 01010100 84 demek, 84 ASCII de T demek.
84 değil de 54 yalnız. :) Tablosu varmış. 0101=8421=0+4+0+1=5
Hex de 54 Ondalıkta 84 :)
Islemcilerdeki komut setlerini aciklarmisin sanirim kapilarin birlesiminden olusuyor dogrumudur…birde islemciler temelde sagdece toplama yaptigini duymustum cikarma isleminde 1 ler 0 larla o larda 1 lerde degistirilip toplama yapiliyor diye biliyorum
Asıl bomba; bilgisayarın, işlemcinin en başta sadece çıkarma işlemini bilmesi, bu sayede önce toplama sonra çaprma ve bölme işlemlerini öğrenebilmesi. Tüm işlemleri çıkarma işlemi üzerinden yürütüyor.
En başta toplama işlemini yapıyor. Toplama işlemini kullanarak diğer işlemleri yapıyor. Çıkarma işlemini de toplama işlemini kullanarak yapıyor. Çıkarma işlemini kullanarak mantıksal işlemleri yapıyor.
“Boolean Algebra” üzerinden giderek konuşmuştum ben :D Elektrik&Elektronik okuyanlar, mantık devreleri görmüş olanlar bilir.
Elektrik Elektronik okuyanlar bilir fakat sen yanlış biliyorsun. Doğrusu benim dediğim gibi önce toplama, sonra toplamayı kullanarak çıkarma yaparsın.
Bir de önceki mesajımda ki mantıksal işlemden kastettiğim karşılaştırma işlemleri.
İşlemcinin temelinde ALU (Aritmetik Mantıksal birim) vardır. Onun yapısında ise Adderlar (Toplayıcılar) vardır. Yani normalde toplama işlemi yapar. Çıkarma işlemi için çıkarılacak rakamın 1′ complementini alıp toplar.
İkili sayı sistemi kullanmadan diğer sayı sistemlerini üretemeyizki. Neden? bir bilgiyi 1 ve 0 olmadan üretmek için yüksek gerilimlere ihtiyaç duyarız. Yani analog şekilde her birim volt, bir değeri veya rengi çizmesi gerekir ki. Bunu küçücük işlemcilerde kullanmak mümkün olmaz tabiki. 1.5 V gibi bir değerle 1 ve 0 üretilebilrken, bunların birleşiminden byte, word, kilobyte, gigabyte diye sonsuz değer üretilebilir. Bence mantık çok daha kolay anlaşılabilir, çözülebilir Analog sisteme göre.
Peki üçlü sayı sistemi kullanılamaz mıydı?
kübit
kübit üçlü sayı sistemi için kullanılmıyor. üçlü sayı sisteminde kullanılan birimin adı trit’dir. Üçlü sayı sistemine ise ternary denir.
Dijital devrenin temel yapıtaşı transistördür, ve transistor sadece 2 farklı durumda bulunabilir. Bu yüzden tüm sistem binary arithmetic üzerine inşa edilmiştir. Hepsi bu.
Sen nasıl mühendis adayısın ya? Nand kapısı, Nor kapısı, flip-flop’lar neyden yapılır göstermiyorlar mı gittiğin okulda? hayret yahu, yıl olmuş 2017, hala basit mantıkla fikirle şu işleri izah etmeye çalışıyorsunuz.. bilgi! bilgi!! fikir değil.
Merhaba ben yeni adayım ve şu soruya bir cevap arıyorum: Bilgisayarlar sayı sistemi kullanıyor tamam biliyoruz Binary sistemi kullanıyor bunuda biliyoruz ama bu sistemleri nerede kullanıyor yani hangi konuda bu sistemleri ele alıyor program yapmak için mi? Yoksa başka birşey mi ?