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