EMU 8086
EMU8086
Tutorial de sistemas de numeración
¿Qué es? Hay muchas maneras de representar el mismo valor numérico. Hace mucho tiempo, los humanos usaron palos para contar, y más tarde aprendieron a dibujar cuadros de palos en el suelo y eventualmente en papel.
Por lo tanto, el número 5 se representó por primera vez como:| | | | | (para cinco palos). Más tarde, los romanos comenzaron a usar símbolos diferentes para múltiples números de palos: | | | todavía significaba tres palos, pero un V significaba ahora cinco palos, y una X se utilizó para representar a diez de ellos!
Usar bastones para contar era una gran idea para su tiempo. Y el uso de símbolos en lugar de palos reales era mucho mejor. Una de las mejores maneras de representar un número hoy en día es utilizando el sistema decimal moderno. ¿Por qué? Porque incluye el gran avance de usar un símbolo para representar la idea de no contar nada . Hace unos 1500 años en la India, cero ( 0 ) fue utilizado por primera vez como un número! Fue utilizado más adelante en el Oriente Medio como el árabe, sifr . Y finalmente fue introducido al Occidente como el latín, zephiro . Pronto verás lo valiosa que es una idea para todos los sistemas numéricos modernos.
Sistema Decimal La
mayoría de la gente usa hoy la representación decimal para contar. En el sistema decimal hay 10 dígitos:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Estos dígitos pueden representar cualquier valor, por ejemplo:
754 .
El valor está formado por la suma de cada dígito, multiplicada por la base (en este caso es 10 porque hay 10 dígitos en sistema decimal) en potencia de posición de dígito (contando desde cero): ¡La posición de cada dígito es muy importante! por ejemplo si coloca "7" al final: 547 será otro valor: Nota importante: cualquier número en potencia de cero es 1, incluso cero en potencia de cero es 1:
Sistema binario Las
computadoras no son tan inteligentes como los seres humanos (o aún no), es fácil hacer una máquina electrónica con dos estados: encendido y apagado , o 1y 0 .
Las computadoras utilizan el sistema binario, el sistema binario utiliza 2 dígitos:
0, 1
Y así la base es 2 .
Cada dígito en un número binario se denomina BIT , 4 bits forman un NIBBLE , 8 bits forman un BYTE , dos bytes forman una WORD , dos palabras forman una DOBLE WORD (raramente usada):
Hay una convención para agregar "b"al final de un número binario, de esta manera podemos determinar que 101b es un número binario con un valor decimal de 5.
El número binario 10100101b equivale al valor decimal de 165:
Sistema Hexadecimal Sistema
Hexadecimal utiliza 16 dígitos:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Y así la base es 16 . Los números hexadecimales son compactos y fáciles de leer. Es muy fácil convertir números de sistema binario a sistema hexadecimal y viceversa, cada nibble (4 bits) se puede convertir a un dígito hexadecimal usando esta tabla:
Hay una convención para agregar "h" al final de un número hexadecimal, de esta manera podemos determinar que 5Fh es un número hexadecimal con un valor decimal de 95.
También agregamos "0" (cero) en el comienzo de los números hexadecimales que comenzar con una letra (A..F), por ejemplo 0E120h .
El número hexadecimal 1234h es igual al valor decimal de 4660:
Convertir de Sistema Decimal a Cualquier Otro
Con el fin de convertir de sistema decimal, a cualquier otro sistema, es necesario dividir el valor decimal por la base del sistema deseado, cada vez que debe recordar el resultado y mantener el resto , la división proceso continúa hasta que el resultado es cero.
Los restos se utilizan entonces para representar un valor en ese sistema.
Vamos a convertir el valor de 39 (base 10 ) en el Sistema Hexadecimal (base 16 ):
Como veis tenemos este número hexadecimal: 27h .
Todos los restos eran inferiores a 10 en el ejemplo anterior, por lo que no utilizamos ninguna letra.
He aquí otro ejemplo más complejo:
vamos a convertir el número decimal 43868 a forma hexadecimal:
El resultado es 0AB5Ch , estamos utilizando la tabla anterior para convertir los restos de más de 9 en letras correspondientes.
Usando el mismo principio podemos convertir a la forma binaria (usando 2 como el divisor), o convertir a número hexadecimal, y luego convertirlo a número binario usando la tabla anterior :
Como ves, tenemos este número binario: 1010101101011100b
Números firmados
No hay manera de decir con certeza si el byte hexadecimal 0FFh es positivo o negativo, puede representar el valor decimal " 255 " y " - 1 ".
8 bits se pueden utilizar para crear 256 combinaciones (incluyendo cero), por lo que simplemente suponemos que las primeras 128 combinaciones ( 0..127 ) representarán números positivos y las siguientes 128 combinaciones ( 128..256 ) representarán números negativos.
Con el fin de obtener " - 5 ", debemos restar 5 del número de combinaciones ( 256 ), por lo que vamos a obtener: 256 - 5 = 251.
El uso de esta forma compleja de representar números negativos tiene algún significado, en matemáticas cuando agregas " - 5 " a " 5 " debes obtener cero.
Esto es lo que sucede cuando el procesador añade dos bytes 5 y 251 , el resultado obtiene más de 255 , debido a que el procesador de desbordamiento obtiene cero!
Cuando se usan las combinaciones 128..256 , el bit alto es siempre 1 , por lo que tal vez se utilice para determinar el signo de un número.
El mismo principio se utiliza para las palabras (valores de 16 bits), 16 bits para crear 65536 combinaciones, las primeras 32768 combinaciones ( 0..32767) se utilizan para representar números positivos, y 32768 siguientes combinaciones ( 32767..65535 ) representan números negativos.
Hay algunas herramientas útiles en Emu8086 para convertir números, y hacer cálculos de cualquier expresión numérica, todo lo que necesita es un clic en elmenú de matemáticas :
Convertidor de números le permite convertir números de cualquier sistema ya cualquier sistema. Simplemente escriba un valor en cualquier cuadro de texto y el valor se convertirá automáticamente a todos los demás sistemas. Puede trabajar tanto con valores de 8 bits como de 16 bits .
Expression Evaluator se puede utilizar para realizar cálculos entre números en diferentes sistemas y convertir números de un sistema a otro. Escriba una expresión y presione enter, el resultado aparecerá en el sistema de numeración elegido. Puede trabajar con valores de hasta 32 bits . CuandoFirmado está verificado el evaluador asume que todos los valores (excepto las palabras decimales y dobles) deben ser tratados como firmados . Las palabras dobles siempre se tratan como valores firmados, por lo que 0FFFFFFFFh se convierte en -1 .
Por ejemplo, desea calcular:0FFFFh * 10h + 0FFFFh (ubicación máxima de memoria a la que puede acceder la CPU 8086). Si marca Firmado y Palabra obtendrá-17 (porque se evalúa como (-1) * 16 + (-1) Para hacer el cálculo con valores no firmados, desmarque Firma para que la evaluación sea 65535 * 16 + 65535 y usted debe obtener 1114095 .
También puede utilizar el Convertidor de números para convertir dígitos no decimales en valores decimales firmados y hacer el cálculo con valores decimales (si es más fácil para usted). Estas operaciones son compatibles:
Los números binarios deben tener el sufijo " b ", por ejemplo:
00011011b
Los números hexadecimales deben tener sufijo " h " y comenzar con un cero
cuando el primer dígito es una letra (A..F), ejemplo:
0ABCDh
Los números octales (base 8) deben tener sufijo " o ", ejemplo:
77o
Tutorial de sistemas de numeración
¿Qué es? Hay muchas maneras de representar el mismo valor numérico. Hace mucho tiempo, los humanos usaron palos para contar, y más tarde aprendieron a dibujar cuadros de palos en el suelo y eventualmente en papel.
Por lo tanto, el número 5 se representó por primera vez como:
Usar bastones para contar era una gran idea para su tiempo. Y el uso de símbolos en lugar de palos reales era mucho mejor. Una de las mejores maneras de representar un número hoy en día es utilizando el sistema decimal moderno. ¿Por qué? Porque incluye el gran avance de usar un símbolo para representar la idea de no contar nada . Hace unos 1500 años en la India, cero ( 0 ) fue utilizado por primera vez como un número! Fue utilizado más adelante en el Oriente Medio como el árabe, sifr . Y finalmente fue introducido al Occidente como el latín, zephiro . Pronto verás lo valiosa que es una idea para todos los sistemas numéricos modernos.
Sistema Decimal La
mayoría de la gente usa hoy la representación decimal para contar. En el sistema decimal hay 10 dígitos:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Estos dígitos pueden representar cualquier valor, por ejemplo:
754 .
El valor está formado por la suma de cada dígito, multiplicada por la base (en este caso es 10 porque hay 10 dígitos en sistema decimal) en potencia de posición de dígito (contando desde cero): ¡La posición de cada dígito es muy importante! por ejemplo si coloca "7" al final: 547 será otro valor: Nota importante: cualquier número en potencia de cero es 1, incluso cero en potencia de cero es 1:
Sistema binario Las
computadoras no son tan inteligentes como los seres humanos (o aún no), es fácil hacer una máquina electrónica con dos estados: encendido y apagado , o 1y 0 .
Las computadoras utilizan el sistema binario, el sistema binario utiliza 2 dígitos:
0, 1
Y así la base es 2 .
Cada dígito en un número binario se denomina BIT , 4 bits forman un NIBBLE , 8 bits forman un BYTE , dos bytes forman una WORD , dos palabras forman una DOBLE WORD (raramente usada):
Hay una convención para agregar "b"al final de un número binario, de esta manera podemos determinar que 101b es un número binario con un valor decimal de 5.
El número binario 10100101b equivale al valor decimal de 165:
Sistema Hexadecimal Sistema
Hexadecimal utiliza 16 dígitos:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Y así la base es 16 . Los números hexadecimales son compactos y fáciles de leer. Es muy fácil convertir números de sistema binario a sistema hexadecimal y viceversa, cada nibble (4 bits) se puede convertir a un dígito hexadecimal usando esta tabla:
|
Hay una convención para agregar "h" al final de un número hexadecimal, de esta manera podemos determinar que 5Fh es un número hexadecimal con un valor decimal de 95.
También agregamos "0" (cero) en el comienzo de los números hexadecimales que comenzar con una letra (A..F), por ejemplo 0E120h .
El número hexadecimal 1234h es igual al valor decimal de 4660:
Convertir de Sistema Decimal a Cualquier Otro
Con el fin de convertir de sistema decimal, a cualquier otro sistema, es necesario dividir el valor decimal por la base del sistema deseado, cada vez que debe recordar el resultado y mantener el resto , la división proceso continúa hasta que el resultado es cero.
Los restos se utilizan entonces para representar un valor en ese sistema.
Vamos a convertir el valor de 39 (base 10 ) en el Sistema Hexadecimal (base 16 ):
Como veis tenemos este número hexadecimal: 27h .
Todos los restos eran inferiores a 10 en el ejemplo anterior, por lo que no utilizamos ninguna letra.
He aquí otro ejemplo más complejo:
vamos a convertir el número decimal 43868 a forma hexadecimal:
El resultado es 0AB5Ch , estamos utilizando la tabla anterior para convertir los restos de más de 9 en letras correspondientes.
Usando el mismo principio podemos convertir a la forma binaria (usando 2 como el divisor), o convertir a número hexadecimal, y luego convertirlo a número binario usando la tabla anterior :
Como ves, tenemos este número binario: 1010101101011100b
Números firmados
No hay manera de decir con certeza si el byte hexadecimal 0FFh es positivo o negativo, puede representar el valor decimal " 255 " y " - 1 ".
8 bits se pueden utilizar para crear 256 combinaciones (incluyendo cero), por lo que simplemente suponemos que las primeras 128 combinaciones ( 0..127 ) representarán números positivos y las siguientes 128 combinaciones ( 128..256 ) representarán números negativos.
Con el fin de obtener " - 5 ", debemos restar 5 del número de combinaciones ( 256 ), por lo que vamos a obtener:
El uso de esta forma compleja de representar números negativos tiene algún significado, en matemáticas cuando agregas " - 5 " a " 5 " debes obtener cero.
Esto es lo que sucede cuando el procesador añade dos bytes 5 y 251 , el resultado obtiene más de 255 , debido a que el procesador de desbordamiento obtiene cero!
Cuando se usan las combinaciones 128..256 , el bit alto es siempre 1 , por lo que tal vez se utilice para determinar el signo de un número.
El mismo principio se utiliza para las palabras (valores de 16 bits), 16 bits para crear 65536 combinaciones, las primeras 32768 combinaciones ( 0..32767) se utilizan para representar números positivos, y 32768 siguientes combinaciones ( 32767..65535 ) representan números negativos.
Hay algunas herramientas útiles en Emu8086 para convertir números, y hacer cálculos de cualquier expresión numérica, todo lo que necesita es un clic en elmenú de matemáticas :
Convertidor de números le permite convertir números de cualquier sistema ya cualquier sistema. Simplemente escriba un valor en cualquier cuadro de texto y el valor se convertirá automáticamente a todos los demás sistemas. Puede trabajar tanto con valores de 8 bits como de 16 bits .
Expression Evaluator se puede utilizar para realizar cálculos entre números en diferentes sistemas y convertir números de un sistema a otro. Escriba una expresión y presione enter, el resultado aparecerá en el sistema de numeración elegido. Puede trabajar con valores de hasta 32 bits . CuandoFirmado está verificado el evaluador asume que todos los valores (excepto las palabras decimales y dobles) deben ser tratados como firmados . Las palabras dobles siempre se tratan como valores firmados, por lo que 0FFFFFFFFh se convierte en -1 .
Por ejemplo, desea calcular:
También puede utilizar el Convertidor de números para convertir dígitos no decimales en valores decimales firmados y hacer el cálculo con valores decimales (si es más fácil para usted). Estas operaciones son compatibles:
~ not (invierte todos los bits).
* multiplicar.
/ dividir.
% de módulo.
+ suma.
- restar (y unary -).
<< cambio a la izquierda.
>> turno a la derecha.
& AND a bit a bit.
^ XOR bit a bit.
| OR bit a bit.
Los números binarios deben tener el sufijo " b ", por ejemplo:
00011011b
Los números hexadecimales deben tener sufijo " h " y comenzar con un cero
cuando el primer dígito es una letra (A..F), ejemplo:
0ABCDh
Los números octales (base 8) deben tener sufijo " o ", ejemplo:
77o
No hay comentarios