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 ?

        • Bilal Baraz der ki:

          pastebin.com aracılığı ile kodunuzu paylaşırsanız inceleyebilirim.

          • talha der ki:

            paylaştım kodu …

          • Bilal Baraz der ki:

            bilalbaraz [at] windowslive.com üzerinden iletişime geçerseniz daha iyi olacaktır. Burasını fazla meşgül ettik. Kodunuzun linkini mail adresime gönderir misiniz?

          • geylani der ki:

            Merhabalar
            Banada 2’lik ve 16’lık tabana çeviren kod lazım. Talha arkadaşımızın dediği gibi bende yaptım ama 16’lık tabana çevirmiyor yani aynı sorun bende de var.
            yardımcı olabilirmisiniz ?

  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

    • Bilal Baraz der ki:

      Yazıyı güncelledim. En aşağıda uygulamalarda python örneğini de bulabilirsiniz.
      İyi çalışmalar.

  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