C# Console ikilik sayı sistemini onluk sayı sistemine çevirme

{{ page.title }}

Algoritma

  1. Başla
  2. sayi(binary), sayac = 0, top = 0, bas değişkenlerini al
  3. sayi değerini gir
  4. Eğer sayi > 9 ise devam et, değilse 7’e git
  5. bas = sayi % 10, sayi = sayi / 10 işlemini yap
  6. top = top + ( 2 ^ sayac), sayac++ 4’e git
  7. top = top + ( 2 ^ sayac) işlemini yap
  8. Yazdır top
  9. Bitir

Bu soruda bir önceki C# Console decimal(onluk) bir sayıyı ikilik(binary) bir sayıya dönüştürme sorunun tersini yapmamız gerekmektedir. Bu sefer ikilik düzende verilen 1 ve 0 (bitlerden) dan oluşan bir ikilik sayıyı 10’luk tabana çevireceğiz.

Bunun için 2’lik sayının birler basamağından başlayarak en büyük basamağına kadar sayıları 10’nun katları ile çarpıp (0’dan başlamak koşulu ile) bir değişkende toplayacağız.Sonra bunu ekrana basacağız.Bu soruyu çözerken bir önceki basamaklara ayırma metodunu kullanacağız.

Kod Yapısı

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace dmg
{
class Program
{
static void Main(string[] args)
{
int sayi;
int sayac = 0;
int bas;
double top = 0;
Console.WriteLine("Sayıyı giriniz = ");
sayi = Convert.ToInt32( Console.ReadLine() );
while( sayi > 9 )
{
bas = sayi % 10;
sayi = sayi / 10;
top = top + bas * Math.Pow(2,sayac);
sayac++;
}
top = top + sayi * Math.Pow(2,sayac);
Console.WriteLine("Decimal Sayı = " + top);
Console.ReadKey();
}
}
}

BOT Benson Topluluk kurucusu ve bir yazılımcı.