10’luk Tabanda Girilen Sayıyı 2’lik Tabana Çevirme Algoritması ve Çözümü

Problem: Kullanıcıdan alacağımız 10’luk tabandaki sayıyı 2’lik tabana çevir.

Akış diyagramımız şu şekilde:

akis-semasi

İstek Üzerine Düzenleme:

Akış adımlarını yazalım

  1. Başla
  2. i = 0, k[30], x tanımla
  3. Kullanıcıdan 10’luk tabanda bir x değeri al
  4. x > 1 ise 5. adıma git. değil ise 8. adıma git.
  5. i’yi bir arttır.
  6. x mod 2 değerini k[i]’ye ata
  7. x’in 2’ye bölümünü x’e ata. 4. adıma git.
  8. i > 0 ise 9. adıma git. değil ise 11. adıma git.
  9. k[i] değerini ekrana yazdır.
  10. i değerini 1 azalt. 8. adıma git.
  11. Bitir

Problemimizin Koda Dökümü:

C Kodu:

ikilik tabana cevirmeC Kaynak Kodu

Java Kodu:

ikilik-java

Java Kaynak Kodu

Python Kodu:

akis-semasi
Python Kaynak Kodu

Bu yazı Algoritma, Programlama kategorisine gönderilmiş ve , , , , , ile etiketlenmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.

10’luk Tabanda Girilen Sayıyı 2’lik Tabana Çevirme Algoritması ve Çözümü için 27 cevap

  1. Tuncay der ki:

    Ya bana bunu hani adım adım oluyo ya işte a1:başla diye bana öyle yaparmısınız çok acil yaa

  2. talha der ki:

    hocam kodu yazdım hesaplıyo ama 2 tane alt alta koydugum zaman 2 lik ve 16 lık hesaplamak istiyorum ama 16 lık olanı hesaplamıyor. tek tek yazdıgım zaman hesaplıyor. ikisini aynı anda nasıl hesaplarım.

    • Bilal Baraz der ki:

      Bu yazıdaki kod 2’lik taban için hesap yapar. Kodunuz hakkında detay verirseniz bakabilirim anca.
      Kolay gelsin.

      • talha der ki:

        2 lik tabanla beraber 16 lık tabanı da hesaplasın istiyorum kodu kopyalayıp yapıştırdım alta alta olacak şekilde. 2 lik tabanı hesaplyıor 16 lık tabanı hesaplamıyor. ayrı ayrı koydugum zaman hesaplıyor. ikisi aynı anda neden hesaplamadı acaba ?

  3. Bilal Baraz der ki:

    Talha arkadaşımız sadece değişken kullanımında bir hata yapmıştı. Dikkat edilmesi gereken nokta şu: değişken üzerinde bir değişiklik yaptığınızda başka bir işlemde aynı değişkeni, tekrar kullanırken değişkenin eski değerini muhafaza ettiğinden emin olmalıyız. Aşağıda paylaştığım kod parçası düzenlenmiş halidir.

    package bilalbaraz;
    import java.util.Scanner;
    
    public class Bilal {
        
        public static void main(String[] args) {
        	
            int i=0,j=0,x,temp,k[]=new int[100],l[] = new int[100];
            Scanner klavye = new Scanner(System.in);
            System.out.println("bir sayi giriniz: ");
            x=klavye.nextInt();
            temp = x;
            while(x>=1){
                i++;
                k[i]=x%2;
                x=x/2;
                
            }
            System.out.println("ikilik tabanda karsılıgı :\t ");
            
            
            while(i>0){
                System.out.println(k[i]);
                i--;
            }
            
            System.out.println("\n");
            
            
            while(temp>=1){
                j++;
                l[j]=temp%16;
                temp=temp/16;
                
            }
            System.out.println("16 lık tabanda karsılıgı :\t ");
            
            while(j>0){
                System.out.println(l[j]);
                j--;
            }
       }
    }
    
  4. Kerem der ki:

    Benim bi ödevim var ve bu konuda cok bılgılı degılım. C de decimal to binary ve binary to decimal yapan bi program yazıcam. 2 lı sıstemı 10luya 10 lu ya da 2 lıye cevırebılen. yardımcı olabılır mısınız?

    • Bilal Baraz der ki:

      Yazıdaki örnek kodlar ödevinizin bir kısmını birebir karşılıyor. Diğer kısmını ise aynı şekilde (matematiksel kurallar belli zaten) yapabilirsiniz ya da başka bloglarda bulabilirsiniz. Burada sipariş üzerine kod parçası istemek yerine üzerinde çalıştığınız kodu paylaşarak takıldığınız noktalarda yazarsanız daha faydalı olacaktır. Bu tür egzersizler ile el alışkanlığı kazanırsınız. Uğraşırsanız iyi olur.

      • ayşee der ki:

        MERHABA benim de bi ödevim var. c# da sayı sistemlerini çevirebilen programın kodları lazım ancak bulamıyorum. şuan elimde sadece 10’luktan 2’liğe ve 2’liten 10’luğa var.Yardımcı olursanız sevinirim.

  5. fatma der ki:

    ya bunun pythonadaki kod dönüşümünü yapabilir misiniz

  6. Burak der ki:

    Çok yararı oldu hocam teşekkürler

  7. Selcuk der ki:

    Php de ki kodlarıni yazar misiniz

  8. Selcuk der ki:

    10 luk tabani 2 lik tabana çeviren PHP kodlarıni yazar misiniz ?

  9. yagmur der ki:

    [] işaretleri ne için kullanıyoruz?

  10. rabia der ki:

    merhabalar ödevimde bu onluk tabandan ikilik tabana dönüştürülen sayının en az kaç basamaktan oluştuğunu bulan flowchart ve pseudocodeunu yazmam gerekli.nasıl yapabilirim? şimdiden teşekkürler

  11. sedef der ki:

    Çok özenli bir yazı olmuş. Teşekkürler..

  12. yusuf alkan der ki:

    selam bu konuda benımde bir derdim var yardımcı olursanız minnettar kalırım size nasıl ulasa bilirim

  13. görkem der ki:

    flow chart olanı varmı acaba yardım edermisiniz

  14. Jackss der ki:

    i nin ve k nın anlamını söylermisiniz

    • Bilal Baraz der ki:

      k: sayımızı tutan dizi
      i: üzerinde işlem yaptığımız dizinin indislerini belirlemek için kullandığımız değişken. sayaç diyebiliriz. aynı zamanda i ile sayının her basamağındaki rakama erişiyoruz.

  15. sevim der ki:

    Hocam iyi akşamlar. Ekok algoritmasını nasıl yazabilirim.Yardımcı olabilirseniz sevinirim

Bir Cevap Yazın

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