//Conversor decimal->hexadecimal, octal y binario
//Israel Cáceres
//2014.02.16
#include <stdio.h>
int main() {
int num; //almacenará el numero introducido por el usuario
int bin[32]; //almacenará los restos de la division del numero introducido entre 2 (para la conversión del número a binario)
int n; //modificador del elemento del array
//interacción con el usuario
printf("Introduce un numero entero positivo: ");
if (num<0) { //control de error para impedir la introducción de números negativos, o si se introduce el "0" como número
printf("Error, introduce un numero positivo\n");
}
if (num==0){
//impresión del número en hexadecimal,octal y binario (0)
printf("\nEl numero introducido es %i, en hexadecimal es %x,\nen octal es %o, en binario es 0.\n\n\n~Israel\n\n\n", num
, num
, num
); }
else if(num>0){
//impresión del número en hexadecimal y octal, y preparación para la impresión en binario
printf("\nEl numero introducido es %i, en hexadecimal es %x,\nen octal es %o, en binario es ", num
, num
, num
);
//bucles para la impresión del número en binario
//el primer bucle almacenará los datos en el array "bin", el segundo los imprimirá
for (n=0; num>=1 ; num=num/2 , n++) {
bin[n]=num%2;
}
for(n-- ; n>=0 ; n--){
}
//formato
printf(".\n\n\n~Israel\n\n\n");
}
//si todo se ejecutó correctamente, la función main devolverá "0"
return 0;
}
Ly9Db252ZXJzb3IgZGVjaW1hbC0+aGV4YWRlY2ltYWwsIG9jdGFsIHkgYmluYXJpbwovL0lzcmFlbCBDw6FjZXJlcwovLzIwMTQuMDIuMTYKCiNpbmNsdWRlIDxzdGRpby5oPgoKaW50IG1haW4oKSB7CgogICAgaW50IG51bTsgLy9hbG1hY2VuYXLDoSBlbCBudW1lcm8gaW50cm9kdWNpZG8gcG9yIGVsIHVzdWFyaW8KICAgIGludCBiaW5bMzJdOyAvL2FsbWFjZW5hcsOhIGxvcyByZXN0b3MgZGUgbGEgZGl2aXNpb24gZGVsIG51bWVybyBpbnRyb2R1Y2lkbyBlbnRyZSAyIChwYXJhIGxhIGNvbnZlcnNpw7NuIGRlbCBuw7ptZXJvIGEgYmluYXJpbykKICAgIGludCBuOyAvL21vZGlmaWNhZG9yIGRlbCBlbGVtZW50byBkZWwgYXJyYXkKICAgIAogICAgLy9pbnRlcmFjY2nDs24gY29uIGVsIHVzdWFyaW8gICAgICAgIAogICAgcHJpbnRmKCJJbnRyb2R1Y2UgdW4gbnVtZXJvIGVudGVybyBwb3NpdGl2bzogIik7CiAgICBzY2FuZigiJWkiLCAmbnVtKTsKCiAgICBpZiAobnVtPDApIHsgLy9jb250cm9sIGRlIGVycm9yIHBhcmEgaW1wZWRpciBsYSBpbnRyb2R1Y2Npw7NuIGRlIG7Dum1lcm9zIG5lZ2F0aXZvcywgbyBzaSBzZSBpbnRyb2R1Y2UgZWwgIjAiIGNvbW8gbsO6bWVybwoKICAgICAgICBwcmludGYoIkVycm9yLCBpbnRyb2R1Y2UgdW4gbnVtZXJvIHBvc2l0aXZvXG4iKTsKCiAgICB9CiAgICAKICAgIGlmIChudW09PTApewogICAgICAgIAogICAgICAgIC8vaW1wcmVzacOzbiBkZWwgbsO6bWVybyBlbiBoZXhhZGVjaW1hbCxvY3RhbCB5IGJpbmFyaW8gKDApCiAgICAgICAgcHJpbnRmKCJcbkVsIG51bWVybyBpbnRyb2R1Y2lkbyBlcyAlaSwgZW4gaGV4YWRlY2ltYWwgZXMgJXgsXG5lbiBvY3RhbCBlcyAlbywgZW4gYmluYXJpbyBlcyAwLlxuXG5cbn5Jc3JhZWxcblxuXG4iLCBudW0sIG51bSwgbnVtKTsKICAgIH0KCiAgICBlbHNlIGlmKG51bT4wKXsKICAgICAgICAKICAgICAgICAvL2ltcHJlc2nDs24gZGVsIG7Dum1lcm8gZW4gaGV4YWRlY2ltYWwgeSBvY3RhbCwgeSBwcmVwYXJhY2nDs24gcGFyYSBsYSBpbXByZXNpw7NuIGVuIGJpbmFyaW8KICAgICAgICBwcmludGYoIlxuRWwgbnVtZXJvIGludHJvZHVjaWRvIGVzICVpLCBlbiBoZXhhZGVjaW1hbCBlcyAleCxcbmVuIG9jdGFsIGVzICVvLCBlbiBiaW5hcmlvIGVzICIsIG51bSwgbnVtLCBudW0pOwoKICAgICAgICAvL2J1Y2xlcyBwYXJhIGxhIGltcHJlc2nDs24gZGVsIG7Dum1lcm8gZW4gYmluYXJpbwogICAgICAgIC8vZWwgcHJpbWVyIGJ1Y2xlIGFsbWFjZW5hcsOhIGxvcyBkYXRvcyBlbiBlbCBhcnJheSAiYmluIiwgZWwgc2VndW5kbyBsb3MgaW1wcmltaXLDoQogICAgICAgIGZvciAobj0wOyBudW0+PTEgOyBudW09bnVtLzIgLCBuKyspIHsgCiAgICAgICAgICAgIAogICAgICAgICAgICBiaW5bbl09bnVtJTI7CiAgICAgICAgICAgIAogICAgICAgIH0KCiAgICAgICAgZm9yKG4tLSA7IG4+PTAgOyBuLS0pewogICAgICAgICAgICAKICAgICAgICBwcmludGYoIiVpIixiaW5bbl0pOwogICAgICAgIAogICAgICAgIH0KICAgICAgICAKICAgICAgICAvL2Zvcm1hdG8KICAgICAgICBwcmludGYoIi5cblxuXG5+SXNyYWVsXG5cblxuIik7CiAgICAgICAgCiAgICB9CiAgICAKICAgIC8vc2kgdG9kbyBzZSBlamVjdXTDsyBjb3JyZWN0YW1lbnRlLCBsYSBmdW5jacOzbiBtYWluIGRldm9sdmVyw6EgIjAiICAgIAogICAgcmV0dXJuIDA7CiAgICAKfQ==