Berkay4154
Kilopat
- Katılım
- 29 Ekim 2015
- Mesajlar
- 3.605
- Çözümler
- 24
Taban aritmetiği öğrenin, rahat edin.
Hocam ayrı konu açmak istemiyorum, zahmet olmazsa onu da anlatabilirmisiniz? Bu arada hocam yaşım çok büyük olmadığı için mümkün olduğunca basit bir şekilde anlatırsanız güzel olur.@566156 rica ederim, ne üstüne çalışıyorsun bilmiyorum ama bundan sonra hexadecimal sayılara bakabilirsin.
0 kapalı 1 açık.
Biraz fikriniz var ama bunlar soruya verilen tam doğru cevaplar değil. İkili sistemin kendi başına transistörlerle, açık-kapalıyla bir ilgisi yok. Transistörler ve bilgisayar mimarisinin ikili sistemle çok alakası var. İkili sistem modern bilgisayar ve transistörlerden çok önce de vardı. Tek başına matematiksel bir kavram sadece.Kısaca kullandığımız elektronik aletler on milyarlarca transistör sayesinde çalışır ve bunların anladığı dil 1 ve 0'dır.
Zaten daha önce de açıklandığı gibi ikili sistemde "base" yani temel iki sayısıdır. Normalde kullandığımız onluk sistemdeyse 10 sayısı. 1035 diyerek onluk sistemde kastettiğimiz şey 1 x 10^3 + 0 x 10^2 + 3 x 10^1 + 5 x 10^0. Bunu bütün sayılarla yapabiliriz. İkiyle yapmanın örneği benden önce verilmiş zaten. Hexadecimal de bir sayı sistemi ama temeli 2 ya da 10 değil, 16. Mesela hexadecimal'de 1035 onluk sistemde 1 x 16^3 + 0 x 16^2 + 3 x 16^1 + 5 x 16^0, yani 4149 oluyor. Tabii bu durumda ondalık sistemdeki rakamlar bize yetmiyor çünkü 10, 11, 12 gibi 16'ya kadar olan sayıları da tek sembolle göstermemiz lazım. Bunun için hexadecimal sistemde 10 yerine A, 11 yerine B, 12 yerine C, 13 yerine D, 14 yerine E, 15 yerine de F kullanılıyor. Mesela hexadecimal sistemde 1A3B onluk sistemde 1 x 16^3 + 10 x 16^2 + 3 x 16^1 + 11 x 16^0 yani 6715 oluyor. Hexadecimal standart olarak basamaklarından önce 0x, ikili sistem de 0b olarak gösterilir. Örneğin 1A3B yazmak yerine daha açıklayıcı olması için 0x1A3B gibi. Ya da ikili sistem için başka bir örnek olarak 0b1001 gibi.Hocam ayrı konu açmak istemiyorum, zahmet olmazsa onu da anlatabilirmisiniz? Bu arada hocam yaşım çok büyük olmadığı için mümkün olduğunca basit bir şekilde anlatırsanız güzel olur.
Burada biraz açıklanmış, işin içine negatif sayılar girince durum değişiyor. Bunun için farklı sistemler var, standartlaşmış olanı two's complement diye geçer. Ne olduğuna araştırıp bakabilirsiniz, sorunuz olursa sorarsınız. Two's complementte toplama, çıkarma vs. yapılabilir. Yukarıda berilen sign-magnitude format denilen yani sayının başına pozitif mi negatif mi olduğunu belirtmek için 0 ya da 1 konulan sistemde normalde çıkarma ve toplama yapılamaz. Örneğin 0101 (ondalıkta 5) ve 1001 (ondalıkta -1) sayılarını standart olarak toplamaya çalışırsanız 1110 sayısına ulaşırsınız ki bu da ondalıkta -6 olur. Ama 5 + (-1)'in -6 olmadığını biliyoruz, bu formatta yapılan işlemler doğru olmaz çoğunlukla. Ya da bu formatın farklı varyasyonlarında (örneğin IEEE floating point) farklı algoritmalarla ancak bu işlemler yapılır, standart yol işlemez.Ek bilgi, yukarıda yazdığım işlem sayının değerini veriyor sadece. Toplama, çarpma ve bölmede genellikle normal halini kullanırız ancak çıkartma durumlarında sayının başında ek bir işaretleme biti olur. Bu işaretleme biti 0 ise sayı pozitiftir, 1 ise sayı negatiftir. Makineye 0 ve 1 dışında değer veremediğiniz durumlarda böyle ayırt ettirebilirsiniz.
Yukarıda attığım örneklerden giderek mesela onluk sistemdeki 280 sayısının ikili sistemdeki karşılığını bulalım. Bir kere en yakın 2^x formatındaki sayının 256 (2^8) olduğunu görebiliyoruz. O zaman en az 9 (çünkü 2^0 da var, dolayısıyla 8 + 1 = 0) basamaklı bir sayı elde edeceğiz. 280'i ikinin üssü şeklindeki toplamlara ayırırsak 256 + 16 + 8 oluyor. Burada 128, 64 ve 32'yi atladık çünkü 256'yla toplayınca 280'den büyük olacaklardı demek ki onların basamaklarının değeri 0. 4, 2 ve 0 için de aynı şey geçerli. Yani bu sayı 1 x 2^8 + 1 x 2^4 + 1 x 2^3 şeklinde de yazılabilir. Atladığımız ikinin üssü basamaklarına 0, gereken yerlere bir koyunca da elimize 100011000 geçiyor. Bu da ikili sistemde onluk sistemideki 280'in karşılığı.Nasıl hesaplanıyor ben onu merak ediyorum. Mesela atıyorum 280 sayısını nasıl ikili sayı sisteminde yazabiliyoruz? Hesaplayarak.
Bunları internette kendiniz de araştırabilirsiniz aslında. Çok fazla kaynak var bu konuyla ilgili. Digital logic ve number systems şeklinde ararsanız bulabilirsiniz. Bunları merak etmeniz çok güzel bir şey. Yaşınızın da 12'den büyük olduğunu varsayarsak bunları öğrenmek için hiç de küçük değilsiniz bence, gayet anlayabileceğiniz şeyler. Kendinizi küçümsemeyin. Çok güzel bir yoldasınız.Hocam ayrı konu açmak istemiyorum, zahmet olmazsa onu da anlatabilirmisiniz? Bu arada hocam yaşım çok büyük olmadığı için mümkün olduğunca basit bir şekilde anlatırsanız güzel olur.
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.