sayıyı yaz deniym |
ya ben mi yanlış biliyorum acba, yoksa uykum geldi hatırlayamıyor muyum? 10 luk sistemde yazdığın he ryazı 16 lık sistemde de aynısıdır. 16 lık sistemde yazılan bir sayıyı 10 luk sisteme çevirmek istiyorsan o olabilir işte. o zaman şunu yapmalısın. birler basamağında ki sayıyı 16 üzeri 0 ile çarp onlar basamağında ki sayıyı 16 üzeri 1 ile çarp yüzler basamağında ki sayıyı 16 üzeri 2 ile çarp binler basamağında ki sayıyı 16 üzeri 3 ile çarp sonra bu sayıları topla. yani 16 lık sayı sisteminde ki 241 'in 10 luk sistemde ki karşılığı 1 x 1 = 1 4 x 16 = 64 2 x 256 = 512 512 + 64 + 1 = 577 dir. ayrıca 16 lık sayı sisteminde yazılan A 10 luk sistemde 10 B 10 luk sistemde 11 C 10 luk sistemde 12 D 10 luk sistemde 13 E 10 luk sistemde 14 F 10 luk sistemde 15 'e eşittir. |
yanlış hatırlıyosun mesala 10 luk sistemde =16 sayisi 16 lık sistemde =10 dur anladın mı? kullanıcı istediği sayıyı girecek sende onun 16 sayı sistemine çevirip direk 16 sistemdeki karşılığını vereceksin... |
he tamam onu da hatırladım. 10 luk sistemde ki sayıyı 16 'lık sisteme çevirmek için sayıyı sürekli 16 'ya bölüyoruz. sonra sağdan sola doğru yanyana yazıyoruz. < Resime gitmek için tıklayın > |
ewet öyle yapıyor.matematiksel olarak kolay bişi ama programda nasıl yapacağımı bulamadım. |
ben bu arada bir örnek daha yaptım. belki birilerine lazım olur. onuda paylaşalım. < Resime gitmek için tıklayın > bunu programda nasıl mı yapacaksın. aslında herşey önünde duruyor. ne yapacağım diye sorduğuna göre programlama da çok iyi değilsin. girilen sayıyı 16 ya böl bölümü bir değişkene kaydet girilen sayıyı 16 ya böl kalanı bir değişkene kaydet (mod alma işlemi, % işareti ile yapılır ==> 241 % 16 = 1 ) eğer bölüm 16 dan büyükse yukarıda ki işlemi tekrar yap. bu arada bölümleri hep aynı değişkene kaydedebilirsin fakat kalanları mutlaka bir diziye sırayla yazdırmalısın. C / C++ bilmediğim için kod örnekleri vererek yardımcı olamıyorum. |
programlama da oldukca iyiyim.sadece forma takılan programcıların yaklaşımlarını takip etmek istiyorum.yani programı çözmek için ne yapacaklarını ve söylediklerini dikkate alıyorum.ama şimdiye kadar kimseden söyle yapabilirsin diye bir cvp alamadım.aslında basit bir program.bildiğin programlama dilinde yaz ozaman.illa c++ da yazmasanda olur.ama bana kod lazım. benim uzamanlığım c++ da.oldğu için orda istedim. |
baştan deseydin, bende resimlerle fala no kadar uğraşmazdım. neyse inşaallah, birilerinin işine yarar. şunu söyleyim, burası deneme tahtası değil, ayrıca burada her telden insan bulabilirsin. birçok kişi vardır, soruyu sorarken cevabını çözmüştür bile ama burada başka amaçla bulunuyordur yardım isteyene vakit ayırmaz. kimisi vardır bilmediği halde sallar. kimisi vardır benim gibi yardım etmeye çalışır, ama karşısında kinin yardıma ihtiyacı yoktur. yani demek istediğim forumun genel seviyesini böyle ölçemezsin. çünkü yazdığın soruyu her okuyan cevap vermiyor. |
demek istediğini anladım.ama bazı insanlara örnek vererek soruyu çözmesini istemek yeterli olmaz.çünkü sorusu bildiği halde nasıl koda dökeceğini bilmiyorsa ne kadar da örnek göstersen yapamaz.onun için yardımını daha açık ve kodsal yaparsan,yardım isteyen kişiye okadar yardım olursun.sen baana anlatığın şey sadece matematik işlemi.onu her türlü insan bilir.liseden.ama program açısından yardımcı olmuyorsun.yanlış anlama.bildiğin programlama dilli hangisi? |
Ben şöyle düşünüyorum. kişi eğer programcı olmak istiyorsa otursun mantığını kendisi bulsun. ben burada ona fonksiyonu yazıp verirsem buradan birşey öğrenmeden gider. Ben programlamayı ilk olarak Pascal 'da öğrendim sonra delphi ile biraz ilgilendim. daha sonra C# ve PHP ile de ilgilendim. PHP ile daha çok Veritabanı işlerinde uğraştım. bunlarında hiç birinde de mükemmel değilim fakat iş ne olursa olsun, ararım bulurum işimi hallederim. |
kendine de söylüyorsun soruyu sorarken bile soruyu çözmüştür ve başka amaçlar için burdadır.yani progralama sende bilirsin tek bir yol yoktur.onun için yaklaşımlar herzaman önemlidir.doğru söylüyorsun ama bazen düşündüğün şeyi kod olarak aktarmakta insan zorlanır.onun için yardım ister.bende c++ başladım bu işe delphi de bilirim ama az hoşuma gitmedi.onun yerine visual basic daha kolay ve daha ii bence.veritabanında da acess te abay program yazdım. |
bence de ilk önce programı analiz yatar.yani kodlama benim için 2. planda kalır.sana bir mantık sorusu 2 sayıyı birbirine bölmeden nasıl böldürürsün? |
Bende hazir fonksiyon var bu konuyla ilgili. Ama bence de kendin yazman en iyisi. Cok istiyosan gondereyim yine de. |
Ozelinde ;) |
valla tarihin en zor sorusunu sormuşsun :D birbirinden çıkararak mı yoksa :D ![]() |
#include <iostream> #include <cmath> using namespace std; int main() { cout<<"16 lik sistemde yazilmasini istediginiz sayiyi girin: "; int sayi,basamak=1; cin>>sayi; while(sayi>=pow(16,basamak)) { basamak++; } while(basamak>0) { cout<<sayi/int(pow(16,basamak-1))<<" "; sayi=sayi%int(pow(16,basamak-1)); basamak--; } return 0; } alın size yazdığım kodlar. çok fazla deneme şansım olmadı bir de siz deneyin. |
Yanlış anlamayın ama şunu hiç denedinizmi?
yani verdiğiniz bir sayıyı zaten standart c++ fonsiyonu "cout" ile 16 lık tabana çevirirsiniz. |
Benden daha hizli davrandin :-) int olarak belirledigimiz rakamlar zaten bilgisayarda hex olarak tutuluyor. 10lu taban okumak insanlar icin daha kolay oldugundan kod seviyesinde rakamlar 10lu tabandir.
cout<<hex'ten sonraki cout'larin hepsi hex formati veriyor (yeni ogrendim)... asagidaki programin ciktisina bak...
|
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.