Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo convertir 1840 a binario usando programación en lenguaje C?

¿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)?

{?

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(".");?

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,