Al programar código BCD en binario en lenguaje ensamblador, ¿por qué multiplicamos por 10, 100, 1000 después de separar los dígitos de las decenas? ¿Cómo funciona?
Por ejemplo, en el número decimal 138, el valor representado por el primer dígito no es 1, sino 1*10^2=100, y el valor representado por el tercer dígito es 3*10^1 =30, el valor representado por el octavo dígito es 8*10^0=8, lo que suma 138.
Como puedes ver, el primer dígito de un número decimal tiene un peso de bit de 1 (es decir, 10^0). El peso posicional del dígito de las decenas es 10 (es decir, 10^1), el peso posicional del dígito de las centenas es 100 (es decir, 10^2), el peso posicional del dígito de los millares es 1000 (es decir, 10^3), y así en .
El peso en bits de la parte decimal del número decimal es la potencia entera negativa de 10: el peso en bits del primer dígito a la derecha del punto decimal es 10^(-1), y el El peso en bits del segundo dígito a la derecha del punto decimal es 10 ^(-2), y así sucesivamente.
Extendido a números n-arios, los pesos de bits de diferentes posiciones son potencias enteras de n. A la izquierda del punto decimal están las potencias enteras positivas de n, y a la derecha del punto decimal están las potencias enteras negativas de n.