Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: El_Andaluz en 3 Junio 2016, 05:47 am



Título: Cómo convertir binarios en un entero del lenguaje C de programación
Publicado por: El_Andaluz en 3 Junio 2016, 05:47 am
(http://img.aws.ehowcdn.com/intl-620/ds-photo/getty/article/83/159/88015904.jpg)

Los binarios y decimales son dos formas diferentes de representar números enteros. En el lenguaje C de programación, los binarios se almacenan generalmente en cadenas de carácteres o algún otro tipo de arreglo. Las cadenas de carácteres en C se denominan punteros porque apuntan al orden inferior de un bit de una cadena binaria, la cual termina con el carácter especial C "\0" seguido del bit superior. Para convertir esta cadena binaria en un valor equivalente integrado necesitas de un programa para escribir repetidamente o como recurso.

Instrucciones

1-Desarrolla un algoritmo para convertir antes de empezar a escribir un código. Necesitas dos variables: un acumulador para seguir los resultados y la variable "energía" para dar cuenta del aumento de poder de 2 que describe las diferentes posiciones del bit de un número binario. Por ejemplo, el entero 13 se almacena como binario 1101. Este número es (1 X 2^3) + (1 X 2^2) + (0 X 2^1) +(1 X 2^0) o 8 + 4 + 0 + 1 = 13. Porque la forma en los dígitos binarios se almacenan en C, se debe empezar en el orden inferior del bit y multiplicar cada bit para incrementar los valores de la variable de energía y agregarlos al acumulador.

2-Descubre la función en el pseudocódigo, examínalo con unos ejemplos, ajústalo si es necesario y escribe el código C directamente del pseudocódigo. Nombre de la función: entero2binario. Entrada: un puntero a un tipo de carácter. Salida de un entero. Empieza la función definiendo dos variables de enteros: acc, un acumulador y pow, un estante 1. Continúa haciendo 3 afirmaciones en el bucle hasta que el puntero apunte al carácter "\0", entonces regresa el valor de acc como el valor de la función. Los tres bucles son: si el puntero apunta a "1", agrega el valor del estante al acumulador, dobla el valor del estante e incrementa el puntero para que apunte al siguiente bit.

3-Convierte el pseudocódigo al código C: int binary2integer(char * p){ int acc,pow; acc = 0; pow = 1; while (p != '\0'){ if (p == '1') acc +=pow; pow *= 2; p++} return acc}. Este código debe examinarse con varios ejemplos. Asegúrate de revisar los valores límites como 0 y 1, así como también varios valores como 11111, 00000, 10101 y 01010.


Bueno lo posteo aquí por si algún usuario nuevo esta aprendiendo y le interesa este tutorial que he visto en esta pagina os dejo link.

http://www.ehowenespanol.com/convertir-binarios-entero-del-lenguaje-programacion-como_239443/ (http://www.ehowenespanol.com/convertir-binarios-entero-del-lenguaje-programacion-como_239443/)

Saludos.


Título: Re: Cómo convertir binarios en un entero del lenguaje C de programación
Publicado por: engel lex en 3 Junio 2016, 05:56 am
siento que tiene errores y carece un poco de sentido...

los temas sobre C van en el subforo de C


Título: Re: Cómo convertir binarios en un entero del lenguaje C de programación
Publicado por: El_Andaluz en 3 Junio 2016, 06:11 am
siento que tiene errores y carece un poco de sentido...

los temas sobre C van en el subforo de C

Mmm vale lo puse allí no estaba seguro si postearlo aquí por si algo estaba mal, pero dices que tiene errores y carece de sentido a que refieres ?


Título: Re: Cómo convertir binarios en un entero del lenguaje C de programación
Publicado por: ivancea96 en 3 Junio 2016, 13:22 pm
Parece una mala traducción del inglés xD


Título: Re: Cómo convertir binarios en un entero del lenguaje C de programación
Publicado por: AlbertoBSD en 3 Junio 2016, 14:55 pm
No sean tan duros la intencion cuenta  :xD

Yo tenho un video para hacer lo opuesto... Un Entero a binario en formato de texto.

dQfP6urxOY0

Creo que luego hare un video de este tema para estar completo.