MyDesign | Kod Arivi - Anasayfaya Dn   No banner in farm
Anasayfa Aratr Forum Gelimi Arama Siteniz in En Hit erikler RSS erik Ekle Scriptler Destekleyenler Kadromuz Reklam letiim Giri Sayfas Yap  Sk Kullanlanlara Ekle
Bu Kategorinin En Yeni Kodlar:


Bu Kategorinin En ok Grntlenen Kodlar:






Arama:
Gelimi Arama


No banner in farm



En ok Grntlenen Kodlar:


ye Girii:
 ye Ol



Anasayfa > C - C++ > Kodlar

Bir sayıyı bir tabandan başka bir tabana çevirmek

Bir sayıyı herhangi bir tabandan başka bir tabana çevirmek

Kategori : C - C++
Gnderen : mYavuz
Telif :
Tarih : 21 Mart 2005
rnek Dosya : Bulunmamakta
Okunma Says : 36656
Puan
: 9 / 10 (13 Oy)
Puan Verin :
Google Bookmarks  del.icio.us  Digg  Yahoo! MyWeb  Windows Live  Furl
 
 
#include <stdlib.h>
#include <stdio.h>
#include <math.h>

int main ()
{
     int sayi, taban1, taban2;
        int r1, r2, i;

        // Algoritma 2 - 10 arasındaki tabanlarda bulunan bir sayıyı, yine
        // aynı aralıkda, başka bir tabandaki sayıya çeviriyor.

        printf (" Sayi       : ");
        scanf  ("%d", &sayi);

        printf (" Taban      : ");
        scanf  ("%d", &taban1);

        printf (" Yeni taban : ");
        scanf  ("%d", &taban2);

        r1 = i = 0;

        // Sayı ilk olarak onluk tabana çevriliyor. (sayi % 10) bize
        // sayinin son rakamini verir. while içerisinde sayı üzerinde
        // sağdan sola doğru ilerleniyor ve ulaşılan her rakam uygun
        // katsayıyla çarpılarak verilen sayı onluk tabana çevriliyor.
        // Bu uygun katsayılar, örneğin 3 tabanı için 1, 3, 9, 27 ...
        // şeklindedir.

        while (sayi != 0)
        {
             r1 += (sayi % 10) * (int) pow (taban1, i);

             sayi /= 10;

             i ++;
        }

        i = 0;

        // Aşağıdaki while ile yeni oluşacak sayının kaç basamaklı
        // olduğu bilgisi elde ediliyor.

        while (r1 > pow (taban2, i)) i ++;

        printf (" Yeni  sayi : ");

        // Orjinal tabanından onluk tabana çevrilmiş sayı, artık yeni
        // tabana çevrilmek için hazır. Yeni sayının soldan sağa doğru
        // rakamları tek tek elde ediliyor.

        while (i > 0)
        {
             r2 = r1 / (int) pow (taban2, i - 1);

             r1 -= r2 * (int) pow (taban2, i - 1);

             printf ("%d", r2);

             i --;

        }

        printf ("\n\n");

        return 0;
}
 
 

Bir sayıyı bir tabandan başka bir tabana çevirmek iin yazlan yorumlar

cankut  { 23 Nisan 2015 }
cevap,hangi tabanda isteniyorsa doğru cevaptan bir okadar eksik çıkıyor,yani cevap yanlış çıkıyor,lütfen düzeltiniz.

elifa  { 07 Kasım 2013 }
ekrana yazıyor sadece ekran kapandığı için size öyle geliyor printf ("\n\n"); den sonra system("pause"); yazmak gereklidir

turan  { 30 Aralık 2011 }
bunda neden sonuç vermiyo lütfen biri yardım edebilir mi

kardelen "  { 17 Mart 2011 }
kitapta ayrı yazıyo burda ayrı yhaa anLamadım yni :(

cosinus  { 19 Şubat 2011 }
sonucu yazmıyor?

Yorum ekleyin

Anasayfa > C - C++ > Kodlar > Bir sayıyı bir tabandan başka bir tabana çevirmek
Kategoriler:


Forum:



Balantlar:



    En Son Yorumlanan erikler:


    Murat Yavuz | Site Haritas | Gizlilik Bildirimi | 3.233.239.102 | 0,15 Saniye
    © Copyright 2004-2020 MyDesign | Kod Arivi. Tm Haklar Sakldr.
    MyDesign | Kod Arivi, en iyi grnm iin, 1024x768 ve zeri znrlk tavsiye eder.