jueves, 11 de septiembre de 2008

Sistema Binario

El sistema binario, en matemáticas e informática, es un sistema de numeración en el que los números se representan utilizando solamente las cifras cero y uno (0 y 1). Los ordenadores trabajan internamente con dos niveles de voltaje, por lo que su sistema de numeración natural es el sistema binario.
Un número binario puede ser representado por cualquier secuencia de bits (dígitos binarios), que a su vez pueden ser representados por cualquier mecanismo capaz de estar en dos estados mutuamente exclusivos. Las secuencias siguientes de símbolos podrían ser interpretadas todas como el mismo valor binario numérico:
1 0 1 0 0 1 1 0 1 0
- - - - -
x o x o o x x o x o
y n y n n y y n y n
Suma de números Binarios
Las posibles combinaciones al sumar dos bits son
:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10
100110101
+ 11010101
———————————

1000001010


Resta de números binarios
El algoritmo de la resta en binario es el mismo que en el sistema decimal. Pero conviene repasar la operación de restar en decimal para comprender la operación binaria, que es más sencilla. Los términos que intervienen en la resta se llaman minuendo, sustraendo y diferencia.
Las restas básicas 0-0, 1-0 y 1-1 son evidentes:

0 - 0 = 0
1 - 0 = 1
1 - 1 = 0
0 - 1 = no cabe o se pide prestado al próximo.

La resta 0 - 1 se resuelve, igual que en el sistema decimal, tomando una unidad prestada de la posición siguiente: 10 - 1 = 1 y me llevo 1, lo que equivale a decir en decimal, 2 - 1 = 1. Esa unidad prestada debe devolverse, sumándola, a la posición siguiente. Veamos algunos ejemplos:
Restamos 17 - 10 = 7 (2=345) Restamos 217 - 171 = 46 (3=690)
10001 11011001
-01010 -10101011
—————— —————————
00111 00101110

División de números binarios
La
división en binario es similar a la decimal, la única diferencia es que a la hora de hacer las restas, dentro de la división, estas deben ser realizadas en binario. Por ejemplo, vamos a dividir 100010010 (274) entre 1101 (13):
100010010 1101
——————-
0000
010101
———————
10001-
1101
———————
01000 -
0000
———————
10000
- 1101
———————
00111
- 0000
———————
01110
- 1101
———————
00001
Decimal a binario
Se
divide el número decimal entre 2 cuyo resultado entero se vuelve a dividir entre 2 y así sucesivamente. Una vez llegados al 1 indivisible se cuentan el último cociente, es decir el uno final (todo número binario excepto el 0 empieza por uno), seguido de los residuos de las divisiones subsiguientes. Del más reciente hasta el primero que resultó. Este número será el binario que buscamos. A continuación se puede ver un ejemplo con el número decimal 100 pasado a binario.
100 _2 --> 100 1100100
0 50 _2
0 25 _2
1 12 _2
0 6 _2
0 3 _2
1 1
Binario a octal
Para realizar la conversión de binario a octal, realice lo siguiente:
1) Agrupe la cantidad binaria en grupos de 3 en 3 iniciando por el lado derecho. Si al terminar de agrupar no completa 3 dígitos, entonces agregue ceros a la izquierda.
2) Posteriormente vea el valor que corresponde de acuerdo a la tabla:
Número en binario
000 001 010 011 100 101 110 111
Número en octal
0 1 2 3 4 5 6 7
Binario a hexadecimal
Para realizar la conversión de binario a hexadecimal, realice lo siguiente:
1) Agrupe la cantidad binaria en grupos de 4 en 4 iniciando por el lado derecho. Si al terminar de agrupar no completa 4 dígitos, entonces agregue ceros a la izquierda.
2) Posteriormente vea el valor que corresponde de acuerdo a la tabla:

Número en binario
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
Número en hexadecimal
0 1 2 3 4 5 6 7 8 9 A B C D E F
3) La cantidad correspondiente en hexadecimal se agrupa de izquierda a derecha.
Ejemplos:
110111010 (binario) = 1BA (hexadecimal). Proceso:

8 comentarios:

Unknown dijo...

ola k ase

HardForo .com dijo...

Hola, lindo blog :)

Quizás te interese ver distintas implementaciones de conversores de decimal o real a binario en el foro de C++ de HardForo hay algunos posts al respecto.

Salu2!

Unknown dijo...

Muy bueno.

Unknown dijo...

Nada 4 años después

Unknown dijo...

que pasa?




Unknown dijo...

Jajajjaa

Unknown dijo...

Que pasa que XD

Unknown dijo...

Hola
Xd