¿Cómo convertir 1840 a binario usando programación en lenguaje C?
El siguiente programa implementa la conversión de un número decimal a un número binario (el número decimal puede ser un número positivo, un número decimal, un número negativo y un número entero. El programa fuente es el siguiente: ?
#includelt; stdio. hgt;?
#includelt;math.hgt;?
void?main()?
{?
int?i =0, j, a[20], b[20], k, c=0;?
doble?m, x, d; ?
printf("Ingrese los números que desea convertir: ");?
scanf("lf",amp;x);?
if( xlt;0)?
m =fabs(x);?
¿otra cosa?
m=x;?
k= (int)m; // ¿Se puede utilizar la conversión de tipo forzada k=(int)m; para que quede más claro de un vistazo?
while(k)//Determine si el número a se convierte en 0?
{?
a[i ]=k2; //¿Tomar el resto y realizar la conversión base, pero el orden es opuesto al valor correcto?
k/=2;//¿Convertir un dígito y realizar los cambios correspondientes?
}?
if(m!=(int)m)//Cálculo selectivo, si es un número entero, no es necesario realizar este paso de cálculo, lo que puede ahorrar tiempo en la ejecución del programa.
{?
d=m-(int) m; //¿Tomar la parte decimal?
while(d!=0)? p>
{?
b[c]=(int)(d) *2);//¿El algoritmo es ×N redondeo?
d=d*2- b[c];?
c;?
if (cgt;=10)?
break; // Principalmente para controlar la aparición de decimales después. Cuando se trata de decimales infinitos, ¿es mejor salir del bucle para evitar un bucle infinito?
}?
}?
printf("El resultado de la conversión es: ");?
p>if(xlt;0)?
printf("-");?
for(j=i-1;jgt;=0;j-- )//Salida en orden inverso, números mayores que 10 ¿cambiará en consecuencia?
{?
printf("d", a[j]);?
}?
if (m!=(int)m)//Salida selectiva, ¿que puede ahorrar tiempo de salida y tiempo de ejecución del programa?
{?
printf(".");? p>
for(j=0;jlt;c;j)//¿salida de secuencia positiva?
{?
printf("d",b[j]) ;?
}?
}?
if(cgt;=10)// Si es un decimal infinito, estará representado por una elipse ¿después de él?
printf("...");?
printf("\n"); //Salida de nueva línea, ¿para que la salida del programa sea hermosa?
}?
El valor binario calculado después de ingresar 1840 es 11100110000.
Como se muestra en la figura,