Red de conocimiento informático - Computadora portátil - Lenguaje C, código fuente, conversión, interpretación del código fuente

Lenguaje C, código fuente, conversión, interpretación del código fuente

Solo hay dos niveles de binario en las computadoras, a saber, decimal y hexadecimal. La conversión se realiza para que sea más fácil de entender para los desarrolladores.

La representación binaria del decimal es 1?1. 1 ?1 ?1 ?1

128 ?64 ?32 ?16 ?8 ? 4 ? 2 ? La conversión de decimal a binario solo requiere el resto

pow es para redondear cuando los números binarios se muestran en formato decimal

Sin pow, la operación será 1 0 1 1 y el resultado Son 3. p>

Por lo tanto, el segundo dígito requiere x10, el tercer dígito requiere x100, el cuarto dígito requiere x1000, y así sucesivamente

El resultado final es 1*1000 0* 100 1 *10 1=1011

Porque en las computadoras, todos los datos se almacenan en binario.

Por lo tanto, es más fácil realizar operaciones directamente en binario. Muchos int?DecToBin(int?a)/10 se convierten a binario

{

int?i, n=0;

for(i=0 ; ilt; 16; i ) // ¿el valor predeterminado es 16 bits? ¿Se puede cambiar a 32 bits?

{

n*=10;

if(aamp;0x8000)//¿Tomar el bit más alto de a? Cuando sea de 32 bits, 0x8000 se modificará a 0x80000000

n; //si el bit es 1, entonces 1

lt; //El valor de a; Se moverá un bit hacia la izquierda para obtener todos los bits en un bucle

}

return?n //devuelve el resultado de la conversión

}

Este método funciona de manera más eficiente.

Normal

Algunos lugares necesitan usar binario. Aquí hay una definición de macro para facilitar la conversión directa de binario a hexadecimal #define?B(n)?(((ngt; gt). ;21)amp;0x80)|((ngt;gt;18)amp;0x40)|((ngt;gt;15)amp;0x20)|((ngt;gt;12)amp;0x10)|(( ngt ;gt;9)amp;0x08)|((ngt gt;gt;6)amp;0x04)|((ngt;gt;3)amp;0x02)|((n)amp;0x01))

#define?BinToHex(n)?B(0x##n#l)

Efecto de ejecución: