C#

C# Sayıyı 10luk Tabandan 2lik Tabana Çevirme

Merhabalar, C# derslerimize kaldığımız yerden devam ediyoruz. Bu dersimizde 10luk (decimal) tabanda olan bir sayıyı 2lik (binary) tabana çevirmeyi anlatacağım. Hadi başlayalım !

Öncelikle Visual Studio aracılığıyla bir tane konsol projesi oluşturalım. Ben konsol üzerinden anlatacağım ama siz istediğiniz platformda yapabilirsiniz. Decimal 10luk sayma sayılarından oluşan sayılardır, binary ise sadece 0 ve 1’den oluşan sayılardır ve bilgisayarda kullanılan sayı tipi binary’dir. Peki decimal tabanda olan bir sayıyı binary tabana nasıl çevirebiliriz derseniz, decimal olan sayıyı sürekli 2’ye bölersek (binary 2lik taban olduğu için) ve kalanları birleştirirsek decimal olan bir sayıyı binary’e çevirmiş oluruz. E teorik olarak anlattık, biraz da kod yazalım 🙂 Öncelikle kullanıcıdan bir sayı alalım ve bu sayıyı sayi isimli bir değişkene atayalım.

Console.Write("Bir Sayı Giriniz: ");
long sayi = long.Parse(Console.ReadLine());

long kullanmamızın sebebi de, integer’a göre çok daha geniş aralığa sahip olması. Yani kullanıcının girebileceği sayıyı çok daha büyütüyoruz, daha büyük sayılar için de hizmet veriyoruz yani 🙂 Şimdi de az önce bahsettiğimiz gibi sayıyı sürekli 2’ye bölerek kalanları birleştirelim. Birleştirme işlemi için string bir değişken ve sürekli 2’ye bölmek için de while döngüsü kullanacağız.

string binary = null;
while(sayi != 1)
{
    binary = (sayi % 2).ToString() + binary;
    sayi /= 2;
}

Şimdi sayıyı 1 olana kadar küçülttük fakat sayı şu anda 1 ve o eksik kaldı, o yüzden binary değişkenimizin başına 1 eklememiz gerek. Başına ekliyoruz çünkü sayı 1 fakat bu 1 sayının en büyük basamağıdır, binary karşılığında da en büyük olması gerekir.

binary = "1" + binary;

Son olarak kullanıcıya bildirelim;

Console.WriteLine("Girdiğiniz Sayının Binary Karşılığı: " + binary);

Evet bu dersimizde bu kadardı, yazdığımız kodları daha toplu olması için aşağıya bırakıyorum;

Console.Write("Bir Sayı Giriniz: ");
long sayi = long.Parse(Console.ReadLine());
string binary = null;
while(sayi != 1)
{
    binary = (sayi % 2).ToString() + binary;
    sayi /= 2;
}
binary = "1" + binary;
Console.WriteLine("Girdiğiniz Sayının Binary Karşılığı: " + binary);

Tüm C# derslerimize buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.

Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 0 Ortalama: 0]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu