Okulda Ansi C dilinde decimal bir sayıyı hex e çevirmemiz için ödev verildi :)
Alıntı:
>"Converting a decimal integer to hexadecimal/octal representation."
Ama problem şu ki bir çok imkanımız kısıtlı aşağıdan anlayacağınız üzere.
Alıntı:
>Constraints: Write conversion using an algorithm which uses only a set of arithmetic expressions, and
conditional statements, repetitive statements (if necessary) or functions (if you like).
-You are not allowed to use printf function with hexadecimal/octal printing format specifier!
Hexe çevirip ekrana basmak için (anladığım kadarıyla) char* bile kullanmayacağız :) Bu da haliyle işleri biraz zorlaştırıyor.
Herhangi bir kütüphaneye bağlı fonksiyon kullanmadan ( printf haricinde ) bir şekilde çözdüm.
Acaba farklı nasıl çözümler yapılabilir merak ediyorum. Kafanızı karıştırmaması açısından çözümümü sonradan paylaşacağım.
Görüşlerinizi alabilir miyim?
Bu arada not olarak sayının 16 ya bölümünden kalanını alıp ekrana yazmak sonra 16 ya bölmek tam olarak çözüm olmuyor. Gelen hex çıktısı tersten yazılmış oluyor :)
Zekeriya
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]