10’luk sayı sistemindeki bir sayıyı 2’lik sayı sistemine çeviren algoritmayı yazınız.
- Sayı girmek.
- Çevirme işlemini yapmak.
- Sonucu ekrana yazdırmak.
- 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;i0’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.
- Değişkenlerin tanımlanması.
- Sayının girilmesi.
sayi>0iken:- Çevirme işleminin yapılması.
- Çevrilen sayının ekrana yazdırılması.
#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ı
}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)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();
}
}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();
}
}
}67
1000011
- Sayının kuvvetini almak için
Math.pow(taban, kuvvet)hazır fonksiyonunu kullandık.
