MyDesign | Kod Arşivi - Anasayfaya Dön   No banner in farm
Anasayfa Araştır Forum Gelişmiş Arama Siteniz İçin En Hit İçerikler RSS İçerik Ekle Scriptler Destekleyenler Kadromuz Reklam İletişim Giriş Sayfası Yap  Sık Kullanılanlara Ekle
Bu Kategorinin En Yeni Kodları:


Bu Kategorinin En Çok Görüntülenen Kodları:






Arama:
Gelişmiş Arama


No banner in farm



En Çok Görüntülenen Kodlar:


Üye Girişi:
 Ü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++
Gönderen : mYavuz
Telif :
Tarih : 21 Mart 2005
Örnek Dosya : Bulunmamakta
Okunma Sayısı : 34323
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 için yazılan 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:



Bağlantılar:


En Son Yorumlanan İçerikler:


Murat Yavuz | Site Haritası | Gizlilik Bildirimi | 54.227.48.147 | 0,12 Saniye
© Copyright 2004-2018 MyDesign | Kod Arşivi. Tüm Hakları Saklıdır.
MyDesign | Kod Arşivi, en iyi görünüm için, 1024x768 ve üzeri çözünürlük tavsiye eder.