Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo convertir números binarios a decimales usando lenguaje C

Cómo convertir números binarios a decimales usando lenguaje C

Convierte binario a decimal, expande y suma según el peso.

Se puede solucionar con el siguiente código:

#include lt;stdio.hgt;

#include lt;stdlib.hgt;

int main()

{

char a[17];

gets(a);

int len, i , suma =0, ​​m, j;

len=strlen(a);

if(lenlt;=16)

{

for(i=0;ilt;len;i)

{

m=1;

if(a[i]=='1 ')

{

for(j=1;jlt;=len-i-1;j)

m*=2;

suma =m;

}

}

printf("d",suma);

}

return 0;

}

Información ampliada:

Nuestras bases comúnmente utilizadas incluyen: binaria, octal, decimal y hexadecimal. en los cálculos numéricos, cada número avanza a un dígito. Por ejemplo, el sistema binario lleva un dígito cada 2, y el sistema decimal que usamos comúnmente del 0 al 9 lleva un dígito cada 10.

Convertir de decimal a binario: dividir un número decimal entre 2 y tomar el resto, es decir, dividir un número decimal entre 2, y el resto es el número en la posición de peso. El valor del cociente obtenido continúa. para dividir por 2, y la operación continúa hacia abajo hasta llegar al cociente hasta llegar a 0.

Octal a binario: El número octal se divide por 2 y el resto se obtiene para obtener el número binario. Por cada número octal, existen 3 números binarios. Si no hay números suficientes, se le suman ceros. la extrema izquierda.

Hexadecimal a binario: El número hexadecimal se divide entre 2 y el resto se obtiene para obtener el número binario. Cada número hexadecimal son 4 números binarios. Si no hay números suficientes, se añaden ceros en la parte más a la izquierda. .

La conversión base de números negativos es ligeramente diferente.

Primero escribe el número negativo en su forma complemento (no discutido aquí), y luego conviértelo a otras bases según el sistema binario.

Ejemplo: Se requiere convertir -9 a forma octal. Luego está:

El complemento de -9 es 1111 1111 1111 0111. Traza los tres dígitos de atrás hacia adelante, agrega 0 si hay menos de tres dígitos

111----gt;p>

110----gt; p>

111----gt;7

111----gt;7

111----gt;7

001-- --gt; 1

Luego escribimos el resultado en orden de abajo hacia arriba: 177767, luego 177767 es la forma octal del número decimal -9.

De hecho, es lo mismo cuando se convierte en cualquier base.

Materiales de referencia:

Sistema binario - Enciclopedia Baidu

Sistema decimal - Enciclopedia Baidu