“Conocimientos Programación>C /C + + Programming

Cómo convertir de binario a un entero en C Programación

2014/11/18
binario y decimal son dos maneras diferentes de representar números enteros. En la programación C , números binarios se almacenan generalmente en cadenas de caracteres o algún otro tipo de matriz. Las cadenas de caracteres en C son nombrados por un puntero de caracteres que apunta al bit de orden inferior de la cadena binaria . La cadena termina con el carácter especial C " \\ 0 " tras el bit de orden superior . Convirtiendo estas cadenas binarias en el valor entero equivalente es un programa fácil de escribir - bien iterativamente o recursivamente . Instrucciones
1

Desarrollar un algoritmo claro para la conversión antes de empezar a escribir código. Se necesitan dos variables para el algoritmo : un acumulador para realizar un seguimiento de los resultados y un " poder" variable para realizar un seguimiento de la creciente potencia de 2 que se describen las diferentes posiciones de los bits del número binario. Por ejemplo , el número entero 13 se almacena en binario como 1101 . Este número es en realidad ( 1 X 2 ^ 3 ) + ( 1 X 2 ^ 2 ) + ( 2 ^ 0 X 1 ) + ( 1 X 2 ^ 0 ) o 8 + 4 + 0 + 1 = 13 . Debido a la forma en dígitos binarios se almacenan en C, empezaremos en el bit de orden inferior y multiplicando cada bit de los valores crecientes de la variable de poder y agregó que en el acumulador.
2

Describir la función en pseudocódigo , probar el pseudocódigo con unos pocos ejemplos , ajustar el pseudocódigo si es necesario y escribir el código C directamente desde el pseudocódigo . Nombre de la función : binary2integer . Entrada: un puntero a un tipo de carácter . Genere un entero. Iniciar la función mediante la definición de dos variables enteras : ACC - un acumulador y Pow - un valor que se duplica en cada paso de la conversión . Set acc a 0 y pow a 1. Continuar haciendo las tres sentencias en el bucle hasta que el puntero apunta a la " 0 \\ " personaje , y luego devolver el valor de la CAC como el valor de la función. Las tres sentencias de bucle son: Si el puntero apunta a un " 1 ", añade el valor de prisionero de guerra a la aceleración , el doble del valor de prisionero de guerra y el incremento del puntero para apuntar a la siguiente parte
. 3

Convertir el pseudocódigo a C código: int binary2integer (char * p ) { int acc , prisionero de guerra ; acc = 0 ; pow = 1 , mientras que ( p * = ' \\ 0 ' ) { if ( * p == '1 ' ) s + = pow , pow * = 2 ; p + + } } return acc . Este código debe ser probado con varios ejemplos . Asegúrese de revisar los valores límite como 0 y 1, así como con una serie de valores como 11111, 00000, 10101 y 01010 .

C /C + + Programming
Mostrar una imagen Caja PGM en C + +
Cómo hacer un Programa de Prueba de opción múltiple en C
Cómo actualizar los datos Parrilla
Cómo Reemplazar un método de acceso en Objective- C
Cómo hacer un GUI en C
Cómo utilizar C + + para obtener los números de serie USB Pen
Cómo incluir fuentes personalizadas en un iPhone usando Xcode
Cómo escribir un programa en C para leer un entero
Conocimientos Informáticos © http://www.ordenador.online