[Aportes indexados] Sistemas Numericos

Estado
Cerrado para nuevas respuestas.

Shura

Dragón Ancestral Lvl 2
[Tutorial] Sistemas Numericos

Nosotros contamos el el sistema numérico de base decimal (la base de este sistema es el número 10). Esto quiere decir que el primer número formado por más de una cifra (0 1 2 3 4 5 6 7 8 9 10) de este sistema es el 10. Pero para las computadoras, este sistema no es conveniente, ya que la información se maneja codificada en forma de bits encendidos y apagados, 1=encendido 0=apagado. Esto lleva a la utilización de dos sistemas en la informática, binario (de base dos) y hexadecimal (de base dieciséis).

Convertir números binarios a decimales

Trabajando en el lenguaje ensamblador nos encontramos con la necesidad de convertir números del sistema binario, que es el empleado por las computadoras, al sistema decimal utilizado por las personas.
El sistema binario está basado en únicamente dos condiciones o estados, como ya habiamos mencionado, encendido (1) o apagado (0), por lo tanto su base es dos. Para la conversión podemos utilizar la formula de valor posicional:
Por ejemplo, si tenemos el numero binario 10011, tomamos de derecha a izquierda cada dígito y lo multiplicamos por la base elevada a la nueva posición que ocupan:

Binario: 1 1 0 0 1

Decimal: 1*2^0 + 1*2^1 + 0*2^2 + 0*2^3 + 1*2^4

= 1 + 2 + 0 + 0 + 16 = 19 decimal.

El caracter ^ es utilizado en computación como símbolo de potenciación y el caracter * se usa para representar la multiplicación.

Convertir números decimales a binarios

Existen varios métodos de conversión de números decimales a binarios; aquí solo analizaré uno.
Naturalmente es mucho mas fácil una conversión con una calculadora científica, pero no siempre se cuenta con ella, así que es conveniente conocer por lo menos una forma manual para hacerlo.
El método que voy a explicarles utiliza la división sucesiva entre dos, guardando el residuo como dígito binario y el resultado como la siguiente cantidad a dividir.
Tomemos como ejemplo el número 43 decimal.

43/2 = 21 y su residuo es 1

21/2 = 10 y su residuo es 1

10/2 = 5 y su residuo es 0

5/2 = 2 y su residuo es 1

2/2 = 1 y su residuo es 0

1/2 = 0 y su residuo es 1

Armando el número de abajo hacia arriba tenemos que el resultado en binario es 101011.
Si queremos ir "acomplejando" la cosa podemos agregar además de la parte entera una parte decimal. Supongamos que tenemos el número 18,23 decimal para pasar la parte entera a binario, como ya vimos antes, lo que tenemos que hacer son divisiones sucesivas por 2. En cambio para pasar la parte decimal a binario lo que hay que hacer es tomar solo la parte decimal (en este caso la parte decimal va a ser: 0,23) y multiplicarla por 2 y así sucesivamente. Al ir multiplicando por dos van a ir surgiendo números en la parte entera que van a ir reemplazando ese ese, esos números son los que tenemos que ir tomando. Bueno pero veamos un ejemplo:
-> 18,23 decimal:

[Parte entera: 18] - [Parte decimal: 23]

0,23 0,46 0,92 0,84 0,68 0,36 0,72 Y así sucesivamente...

__x2__x2__x2__x2__x2__x2__x2__

0,46 0,92 1,84 1,68 1,36 0,72 1,44

En este caso la parte decimal en binario seria: 0011101...

Sistema hexadecimal

En la base hexadecimal tenemos 16 dígitos que van del 0 al 9 y de la letra A hasta la F (estas letras representan los números del 10 al 15). Por lo tanto, contamos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F.
La conversión entre numeración binaria y hexadecimal es sencilla. Lo primero que se hace para una conversión de un número binario a hexadecimal es dividirlo en grupos de 4 bits, empezando de derecha a izquierda. En caso de que el último grupo (el que quede mas a la izquierda) sea menor de 4 bits se rellenan los faltantes con ceros.
Tomando como ejemplo el número binario 101011 lo dividimos en grupos de 4 bits y nos queda:
10; 1011

Rellenando con ceros el último grupo (el de la izquierda):

0010; 1011

Después tomamos cada grupo como un número independiente y consideramos su valor en decimal:

0010 = 2; 1011 = 11

Pero como no podemos representar este número hexadecimal como 211 porque sería un error, tenemos que sustituir todos los valores mayores a 9 por su respectiva representación en hexadecimal, con lo que obtenemos:

2BH (Donde la H representa la base hexadecimal)

Para convertir un número de hexadecimal a binario solo es necesario invertir estos pasos: se toma el primer dígito hexadecimal y se convierte a binario, y luego el segundo, y as' sucesivamente hasta completar el número.
 
Estado
Cerrado para nuevas respuestas.
Arriba