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.
siento que tiene errores y carece un poco de sentido...
los temas sobre C van en el subforo de C
En línea
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.