/ DERS NOTLARI
  1. Ders Notları
  2. C# Console decimal(onluk) bir sayıyı ikilik(binary) bir sayıya dönüştürme

C# Console decimal(onluk) bir sayıyı ikilik(binary) bir sayıya dönüştürme

Algoritma

  1. Başla
  2. sayi, i = 0, top = 0 değişkenlerini al
  3. sayi değerini gir
  4. sayi > 2 olduğu sürece 8. adıma kadar olan işlemleri yaptır.
  5. top = top + ( ( sayi % 2 ) * ( 10 ^ i ) )
  6. sayi = sayi / 2;
  7. i değişkenini arttır.
  8. top = top + ( sayi * ( 10 ^ i ) ) işlemini yap
  9. Yazdır top
  10. Bitir

Bu soru, kitapta çok kez çeşitlerini çözdüğümüz sorulardan biridir.Bildiğimiz üzere, bilgisayar 2’lik ( binary ) sayılarla işler.O zaman 10’lk tabandaki sayıyı çevirmesi gerekir. Bu durum matematik derslerinde taban değiştirme olarak da daha önce karşımıza çıkmıştır.Burada girilen 10’luk tabandaki sayı 2’ye böldürülüp kalanı 10’nun katlarına sırasıyl (0 dan itibaren) çarptırılıp bir değişkende toplanmıştır.Allında b soruyu dizi mantığıyla yapmak daha kolaydır fakat burada bir kandırmaca yaparak soruyu çözüyoruz. Buna göre topladığımız sayılar yine 10’luk sistem olmasına rağmen ekrana basınca 2’lik gibi duracaktır.Algoritma, matemtik ve bilgisayar programcılığı böyle bir şeydir.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace dmg
{
    
    class Program
    {

        static void Main(string[] args)
        {

            int sayi;
            int i = 0;
            double top = 0;

            Console.WriteLine("Sayıyı giriniz = ");
            sayi = Convert.ToInt32( Console.ReadLine() );

            while( sayi > 2 )
            {

                top = top + ( sayi % ) * Math.Pow(10, i);
                sayi = sayi / 2;
                i++;

            }

            top = top + sayi/2 * Math.Pow(10,i); 

            Console.WriteLine("Binary Sayı = " + top);
            Console.ReadKey();

        }

    }

}