izlenme satın al

İstenilen Tabandaki Bir Sayıyı Başka Bir Tabandaki Sayıya Çevirme – C Kodları

C programlama ile birbirinden zevkli uygulamalar yazabilirsiniz.Bugün sizlere algoritması için epey bir düşündüğüm kodları paylaşacağım.Ben C programlamanın uzmanı değilim elbette uzmanlara göre çok kolay bir uygulama bu paylaşacaklarım fakat yinede kolay sayılmaz diyebilirim.

YGS,KPSS,DGS ve benzeri sınavlarda çıkan matematik sorularından en az 1 tane si genelde sayı tabanlarıyla alakalı oluyor.Bu uygulamamız da sayı tabanlarıyla alakalıdır.

Programın amacı istediğiniz tabandaki dışarıdan girilen bir sayının istediğiniz başka tabandaki bir sayıya çevirmesidir.

Şunu da belirteyim program %100 doğru çalışmıyor.Yani sebebini bende anlamadım kodlar kesinlikle doğru gibi duruyor ama bir yerde ufak hatalar var.Program kesin yanlış olsa zaten doğru çalışmaz.Dediğim gibi bazı sonuçların ufak hatalar yaparak çıktısını veriyor.Buna tekrardan bakarım ilerleme kaydedersem konuya eklerim.

Şimdi gelelim kodları paylaşmaya ve ekran çıktısını göstermeye.Ben C programlamada yazdım.Sizler bunu C++,java vb. dillere çevirebilirsiniz.Zaten algoritması her dilde aynı olacak sadece printf,scanf tarzındaki kodlar değişecektir.

Kodlar bu şekilde olacak;

Ekran çıktısı bu şekilde olacak;

girilen tabandaki bir sayıyı başka bir tabana çevirme 1

Gördüğünüz gibi dışarıdan 7 tabanında 143 sayısını girdik ve bize 4 tabanındaki halini bulmasını istedik.Çıktı olarak “1100” verdi.Şimdi matematiksel olarak kontrol edelim gerçekten doğru mu diye.

Öncelikle program 7 tabanındaki 143 sayısını 10 luk tabana çeviriyor.Yani sırasıyla;

3*7^0=3

4*7^1=28

1*7^2=49

Sonra bu 3 sayıyı toplarız ve 7 tabanındaki 143 sayısının 10 luk tabandaki halini bulmuş oluruz.Yani 10 luk tabanındaki hali “80” ediyor.Bunu programda da yazmıştım.Şimdi geldi en zor kısmına 10 luk tabanında bulunan 80 sayısını 4 lük tabana çevireceğiz.

Burada ise bölme işlemi yaparız.Yani 80 sayısını ve sonrasındaki diğer sonuç sayılarını her seferinde 4 e bölerek ilerleyeceğiz.

10 luk tabandaki bir sayıyı diğer tabandaki sayılara çevirme 1

 

Resimde de gördüğünüz gibi her seferinde işlem bitene kadar bölümden bulduğumuz sonucu tekrar hangi tabana çevireceksek o sayıya bölerek devam ediyoruz.

En sonunda ise 5 i 4 e bölüyoruz ve hem sonuç hem de kalan 1 çıkıyor.Haliyle daha bölme işlemi yapamayız ve burada sonlandırırız.Sonrasında kalanları geriye doğru sıralarız.Yani cevabımız “1100” çıkıyor.Program da aynı sonucu vermişti.

Bu şekilde sizler de istediğiniz tabandaki sayıları tek tıkla diğer tabanlara çevirebilirsiniz.Programı daha da görsel yapabilirsiniz.Bunun için C# kullanmanızı öneririm.Zaten algoritma kısmı her yerde aynı çalışacak.Diğer yerleri değiştireceksiniz.

Umarım faydalı olur.Herkese iyi çalışmalar dilerim kolay gelsin…

YORUMLAR

  1. Bilgileriniz için teşekkürler Mustafa Bey..

    1. Rica ederim iyi çalışmalar.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir