🔟➡ 2️⃣ Onluk Tabanından İkilik Tabana Çevirme

❓ Soru

10’luk sayı sistemindeki bir sayıyı 2’lik sayı sistemine çeviren algoritmayı yazınız.

⛓ Program Kısımları

  1. Sayı girmek.

  2. Çevirme işlemini yapmak.

  3. Sonucu ekrana yazdırmak.

👓 Çözüm Yöntemi

  • 10’luk sayı sisteminden 2’lik sayı sistemine bir sayı dönüştürmek için basamak değerlerini tek tek hesaplarız. Her basamak değerini hesaplamak için döngümüzde iki adım var:

    • Sayı%2yi hesaplayıp 10(i) ile çarparız; i 0’dan başlayıp basamağa göre artar.

    • Sayıyı 2’ye böleriz.

  • Çevrilen sayıyı bulmak için her basamak değerinin hesaplandığında önceki hesaplanana ekleriz.

👩‍🔧 Çözüm Adımları

  1. Değişkenlerin tanımlanması.

  2. Sayının girilmesi.

  3. sayi>0 iken:

    • Çevirme işleminin yapılması.

  4. Çevrilen sayının ekrana yazdırılması.

🤖 Kod

⚙ C++ Kodu

#include <iostream>
#include <math.h> 

using namespace std;
int main()
{
  int sayi, s = 0, i = 0, basamak; // Değişkenlerin tanımlanması
  cin >> sayi; // Sayının girilmesi 
  while (sayi > 0){
   // Çevirme işleminin yapılması   
   basamak = (int)((sayi % 2) * pow(10, i));
   i++;
   sayi = sayi / 2;
   s = s + basamak;
  }
  cout << s; // Çevrilen sayının ekrana yazdırılması
 }

🐍 Python Kodu

from math import pow
# Değişkenlerin tanımlanması
s = 0
i = 0
basamak = 0

# Sayının girilmesi
sayi = int(input())

while (sayi > 0):
    #  Çevirme işleminin yapılması
    basamak = int((sayi % 2) * pow(10, i))
    i += 1
    sayi = sayi // 2
    s = s + basamak

# Çevrilen sayının ekrana yazdırılması
print(s)

☕ Java Kodu

import java.util.*;
public class TabanCevirme {
 public static void main(String arg[]) {
  Scanner input = new Scanner(System.in);
  int sayi, s = 0, i = 0, basamak; // Değişkenlerin tanımlanması
  sayi = input.nextInt(); // Sayının girilmesi 
  while (sayi > 0){
   // Çevirme işleminin yapılması   
   basamak = (int)((sayi % 2) * Math.pow(10, i));
   i++;
   sayi = sayi / 2;
   s = s + basamak;
  }
  // Çevrilen sayının ekrana yazdırılması
  System.out.println(s); 
  input.close();
 }
}

⏹ C# Kodu

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TabanCevirme{
    class Program{
        static void Main(string[] args){
            int x, s = 0, i = 1; // Değişkenlerin tanımlanması
            x = Convert.ToInt32(Console.ReadLine()); // Sayının girilmesi 
            while (x > 0){
                // Çevirme işleminin yapılması   
                s = s + ((x % 2) * i);
                x = x / 2;
                i = i * 10;
            }
            // Çevrilen sayının ekrana yazdırılması
            Console.WriteLine(s);
            Console.ReadLine();
        }
    }
}

🧩 Akış Şeması

🎉 Ekran Çıktısı

67
1000011

💡 Notlar

  1. Sayının kuvvetini almak için Math.pow(taban, kuvvet) hazır fonksiyonunu kullandık.

Last updated