Cómo convertir binarios en un entero del lenguaje C de programación

Iniciado por El_Andaluz, 3 Junio 2016, 05:47 AM

0 Miembros y 1 Visitante están viendo este tema.

El_Andaluz


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/

Saludos.

engel lex

siento que tiene errores y carece un poco de sentido...

los temas sobre C van en el subforo de C
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

El_Andaluz

Cita de: 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

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 ?

ivancea96


AlbertoBSD

#4
No sean tan duros la intencion cuenta  :xD

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

[youtube=640,360]https://www.youtube.com/watch?v=dQfP6urxOY0[/youtube]

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