martes, 14 de junio de 2011

sistema binario. hexadecimal, sistema octal

El Sistema Binario.
Es el Sistema de numeración que utiliza internamente el hardware de las computadoras actuales. Se basa en la representación de cantidades utilizando los dígitos 1 y 0. Por lo tanto, es base es 2 (Numero de dígitos del sistema).
Cada dígito de un número representado en este sistema se denomina Bit (Contracción de Binary Digit).
 Binaria
Es semejante a la suma en el sistema decimal, con la  de que se manejan sólo 2 dígitos (0 y 1), y que cuando el resultado excede de los símbolos utilizados se agrega el exceso (acarreo) a la suma  siguiente hacia la izquierda. Las tablas de sumar son:
Realizamos en paralelo a la aritmética binaria su equivalente en decimal, que nos servirá como comprobación.
Ejemplos:
Resta Binaria.
La resta binaria es similar a la decimal con la diferencia de tener sólo 2 dígitos y que al realizar las restas parciales entre 2 dígitos, 1 del minuendo y otro del sustraendo, si el segundo excede al primero, se sustrae una unidad del dígito de más a la izquierda en el minuendo (si existe y vale 1), convirtiéndose este último en 0 y equivaliendo a la unidad extraída a 1 * 2 en el minuendo de resta parcial que estamos realizando. Si es 0 el dígito siguiente a la izquierda, se busca en los sucesivos teniendo en cuenta que su valor se multiplica por 2ª cada desplazamiento a la derecha. Las tablas de restar son las siguientes:
Tabla del 0 Tabla del 1
0 – 0 = 0 1 – 0= 1
0 – 1 = No cabe – 0 – 1= 0
Ejemplos
  • Resta los números binarios11101 (29) y 111 (7).
  • Restar 111111 (63) y 101010 (42)
1 1 1 1 1 1. . . . . . . . . 63
- 1 0 1 0 1 0. . . . . . . . .- 42
0 1 0 1 0 1. . . . . . . . . 21
  • Restar 11.01 (3.25) y 10.1 (2.5).
0 2
1 1. 0 1. . . . . . . . . . 3.25
-1 0. 1 0. . . . . . . . . .-2.50
0 0. 1 1. . . . . . . . . . .189
Multiplicación Binaria.
Se realiza de forma similar a la multiplicación decimal, salvo que la suma final de los productos parciales se hacen en binario. Las tablas de son.
Tabla del 0 Tabla del 1
0 * 0 = 0 1 * 0 = 0
0 * 1 = 0 1 * 1 = 1
Ejemplos:
  • Multiplicar 1 1 0 1 0 1 (53) por 1 1 0 1 (13).
1 1 0 1 0 1. . . . . . . . . 53
* 1 1 0 1. . . . . . . . *13
1 1 0 1 0 1
1 1 0 1 0 1
1 1 0 1 0 1 .
1 0 1 0 1 1 0 0 0 1. . . . . . . . .689
 Binaria.
Se realiza de forma idéntica a la división decimal, salvo que las multiplicaciones y restas internas al proceso de la división se hacen en binario.
Ejemplos:
  • Dividir 1 0 0 0 1 0 (34) entre 1 1 0 (6).

Sistema Hexadecimal


Un gran problema con el sistema binario es la verbosidad. Para representar el valor 20210 se requieren ocho dígitos binarios, la versión decimal sólo requiere de tres dígitos y por lo tanto los números se representan en forma mucho más compacta con respecto al sistema numérico binario. Desafortunadamente las computadoras trabajan en sistema binario y aunque es posible hacer la conversión entre decimal y binario, ya vimos que no es precisamente una tarea cómoda. El sistema de numeración hexadecimal, o sea de base 16, resuelve este problema (es común abreviar hexadecimal como hex aunque hex significa base seis y no base dieciseis). El sistema hexadecimal es compacto y nos proporciona un mecanismo sencillo de conversión hacia el formato binario, debido a ésto, la mayoría del equipo de cómputo actual utiliza el sistema numérico hexadecimal. Como la base del sistema hexadecimal es 16, cada dígito a la izquierda del punto hexadecimal representa tantas veces un valor sucesivo potencia de 16, por ejemplo, el número 123416 es igual a:
1*163 + 2*162 + 3*161 + 4*160
lo que da como resultado:


4096 + 512 + 48 + 4 = 466010
Cada dígito hexadecimal puede representar uno de dieciseis valores entre 0 y 1510. Como sólo tenemos diez dígitos decimales, necesitamos inventarseis dígitos adicionales para representar los valores entre 1010 y 1510. En lugar de crear nuevos simbolos para estos dígitos, utilizamos las letras A a la F. La conversión entre hexadecimal y binario es sencilla, considere la siguiente tabla:

Binario             Hexadecimal 
  
  0000                   0 
  0001                   1 
  0010                   2 
  0011                   3 
  0100                   4 
  0101                   5 
  0110                   6 
  0111                   7 
  1000                   8 
  1001                   9 
  1010                   A 
  1011                   B 
  1100                   C 
  1101                   D 
  1110                   E 
  1111                   F
Esta tabla contiene toda la información necesaria para convertir de binario a hexadecimal y visceversa. Para convertir un número hexadecimal en binario, simplemente sustituya los correspondientes cuatro bits para cada dígito hexadecimal, por ejemplo, para convertir 0ABCDh en un valor binario:

0 A B C D (Hexadecimal)
0000 1010 1011 1100 1101 (Binario)
Por comodidad, todos los valores numéricos los empezaremos con un dígito decimal; los valores hexadecimales terminan con la letra h y los valores binarios terminan con la letra b. La conversión de formato binario a hexadecimal es casi igual de fácil, en primer lugar necesitamos asegurar que la cantidad de dígitos en el valor binario es múltiplo de 4, en caso contrario agregaremos ceros a la izquierda del valor, por ejemplo el número binario1011001010, la primera etapa es agregarle dos ceros a la izquierda para que contenga doce ceros: 001011001010. La siguiente etapa es separar el valor binario en grupos de cuatro bits, así: 0010 1100 1010. Finalmente buscamos en la tabla de arriba los correspondientes valores hexadecimales dando como resultado, 2CA, y siguiendo la convención establecida: 02CAh.

sistema octal
Es un sistema de base 8, es decir, con sólo ocho símbolos distintos 0,1,2,3,4,5,6,7 .
Por ejemplo:
40712 8          es un número en base 8 y representa el número:
 \large 4 \times 8^4 + 0 \times 8^3 + 7 \times 8^2 + 1 \times 8^1 + 2 \times 8^0 = 4 \times 4094 + 0 \times 512 + 7 \times 64 + 1 \times 8 + 2 \times 1 = 16384 + 0 + 448 + 8 + 2 = 16842 
Los números octales pueden construirse a partir de números binarios agrupando cada tres dígitos consecutivos de estos últimos (de derecha a izquierda) y obteniendo su valor decimal.
Por ejemplo, el número binario para 74 (en decimal) es 1001010 (en binario), lo agruparíamos como 1 001 010. De modo que el número decimal 74 en octal es 112.
En informática, a veces se utiliza la numeración octal en vez de la hexadecimal. Tiene la ventaja de que no requiere utilizar otros símbolos diferentes de los dígitos.
Es posible que la numeración octal se usara en el pasado en lugar de la decimal, por ejemplo, para contar los espacios interdigitales o los dedos distintos de los pulgares. Esto explicaría porqué en latín nueve (novem) se parece tanto a nuevo (novus). Podría tener el significado de número nuevo. [editar]
Fracciones
La numeración octal es tan buena como la binaria y la hexadecimal para operar con fracciones, puesto que el único factor primo para sus bases es 2.
FraccionOctalResultado en octal
1/21/20,4
1/31/30,25252525 periódico
1/41/40,2
1/51/50,14631463 periódico
1/61/60,125252525 periódico
1/71/70,111111 periódico
1/81/100,1
1/91/110,07070707 periódico
1/101/120,063146314 periódico
Tabla de la suma en base 8:
+01234567
001234567
1123456710
22345671011
334567101112
4456710111213
55671011121314
667101112131415
7710111213141516
Tabla de la multiplicación en base 8:
*01234567
000000000
101234567
2024610121416
30361114172225
404101420243034
505121724313643
606142230364452
707162534435261
El sistema de numeración más utilizado actualmente en computación es el hexadecimal o base 16, el cual consta de 16 dígitos símbolos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F . El sistema hexadecimal un sistema de numeración vinculado a la informática, ya que los ordenadores interpretan los lenguajes de programación en bytes, que están compuestos de ocho dígitos. A medida de que los ordenadores y los programas aumentan su capacidad de procesamiento, funcionan con múltiplos de ocho, como 16 o 32. Por este motivo, el sistema hexadecimal, de 16 dígitos, es un estándar en la informática.
Como nuestro sistema de numeración sólo dispone de diez dígitos, debemos incluir seis letras para completar el sistema.
Estas letras y su valor en decimal son: A = 10, B = 11, C = 12, D = 13, E = 14 y F = 15.
El sistema hexadecimal es posicional y por ello el valor numérico asociado a cada signo depende de su posición en el número, y es proporcional a las diferentes potencias de la base del sistema que en este caso es 16.
Veamos un ejemplo numérico: 3E0,A (16) = ( 3×16
 ) + ( E×16¹ ) + ( 0×160 ) + ( A×16–1 ) = ( 3×256 ) + ( 14×16 ) + ( 0×1 ) + ( 10×0,0625 ) = 992,625
La utilización del sistema hexadecimal en los ordenadores, se debe a que un dígito hexadecimal representa a cuatro dígitos binarios (4 bits = 1 nibble), por tanto dos dígitos hexadecimales representaran a ocho dígitos binarios (8 bits = 1 byte) que como es sabido es la unidad básica de almacenamiento de información. Por ejemplo:
2A703 16          es un número en base 16 y representa el número:
{$ 2 * 16^4 + 10 * 16^3 + 7 * 8^2 + 0 * 16^1 + 3 * 16^0 = 2 * 65536 + 10 * 1096 + 7 * 256 + 0 * 16 + 3 * 1 = 16384 + 10960 + 1792 + 0 + 3 = 29139 $}

Tabla de la suma en base 16:
+0123456789ABCDEF
00123456789ABCDEF
1123456789ABCDEF10
223456789ABCDEF1011
33456789ABCDEF101112
4456789ABCDEF10111213
556789ABCDEF1011121314
66789ABCDEF101112131415
7789ABCDEF10111213141516
889ABCDEF1011121314151617
99ABCDEF101112131415161718
AABCDEF10111213141516171819
BBCDEF101112131415161718191A
CCDEF101112131415161718191A1B
DDEF101112131415161718191A1B1C
EEF101112131415161718191A1B1C1D
FF101112131415161718191A1B1C1D1E

Tabla de la multiplicacion en base 16:
*23456789ABCDEF10
2468ACE10121416181A1C1E20
369CF1215181B1E2124272A2D30
48C1014181C2024282C3034383C40
5AF14191E23282D32373C41464B50
6C12181E242A30363C42484E545A60
7E151C232A31383F464D545B626970
8101820283038404850586068707880
9121B242D363F48515A636C757E8790
A141E28323C46505A646E78828C96A0
B16212C37424D58636E79848F9AA5B0
C1824303C4854606C7884909CA8B4C0
D1A2734414E5B6875828F9CA9B6C3D0
E1C2A38465462707E8C9AA8B6C4D2E0
F1E2D3C4B5A69788796A5B4C3D2E1F0
102030405060708090A0B0C0D0E0F0100

Tabla de los primeros 16 números
DecimalBinarioOctalHexadecimal
0000
1111
21022
31133
410044
510155
611066
711177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F

No hay comentarios:

Publicar un comentario