Program kullanıcı tarafından girilen onluk sayıyı ikilik sisteme çevirmektedir.
Onluk Sistemden İkilik Sisteme Nasıl Çevirebilirim ?
32 bitlik olarak tanımlanmış onluk sayı sistemindeki sayıyı sayının her bitininin 1 mi 0 mı diye kontrol edilerek bulunabilir.
Sayı 32 bitlik olduğundan dolayı 32 defa dönecek bir döngü yapılır. Bu döngü içerisinde 1 ile ve işlemine sokulur. Bu işlem sonucunda en sağ bitinin (LSB) “1” mi “0” olduğunu öğrenebiliriz. Bunu öğrendikten sonra ister girilen ondalık sayıyı sağa bir bit kaydırır veya 1 sayısını sola bir bit kaydırabiliriz. Bunun yapılmasının nedeni döngü bir sefer döndükten sonra diğer bitin(2.bitin) “1” mi “0” mı olduğunu öğrenmektir. ( Ve bu döngü ile 32 bit için bulunur). Ondalık sayıyı 1 bit sağa kaydırırsak yeni oluşan sayının 1.biti girdiğimiz ondalık sayının 2.biti olacaktır. Bunu 1 ile tekrar ve işlemine soktuğumuzda o anki biti(asıl sayının 2.biti) öğrenebiliriz. Veya 1 sayısı bir bit sola kaydırırsak sayımız artık 2 olacaktır.(Yani 2.biti 1 diğer bitleri 0 ). Sayımız ile 2 sayısının ve işlemine sokarsak sonucunda 2.biti öğrenmiş olabilir. Ve döngü sayesinde bu işlemler tekrarlanarak 32 bitte öğrenebilir.
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace OnlukSistemdenIkilikSistemeCevirme { class Program { static void Main(string[] args) { Console.Write("Onluk sayıyı giriniz: "); int a = Convert.ToInt32(Console.ReadLine()); int b = 1; String tersIkilik = ""; for (int i = 0; i < 32; i++) { if ((a & b) == 0) tersIkilik += '0'; else tersIkilik += '1'; b = b << 1; // a = a >> 1; } string ikilik = new string(tersIkilik.Reverse().ToArray()); Console.WriteLine("Onluk sayı :" + a + "\nİkilik karşılığı:" + ikilik); Console.ReadLine(); } } }