Download Esp. Alexis Olvany Torres Ch

Document related concepts

Sistema binario wikipedia , lookup

Sistema octal wikipedia , lookup

Código binario wikipedia , lookup

Precisión simple en coma flotante wikipedia , lookup

Decimal codificado en binario wikipedia , lookup

Transcript
Esp. Alexis Olvany Torres Ch
En el sistema de números decimales se dice que la base o raíz es 10 debido a que usa 10
dígitos, y los coeficientes se multiplican por potencias de 10.
El sistema binario unicamente posee dos valores posibles que son 0 y 1, en los cuales cada
coeficiente AJ se multiplica por 2J, como ejemplo tendremos el desarrollo del número
binario 11010.11 el cual será representado por la siguiente manera :
1*24+1*23+0*22+1*21+0*20+1*2–1+1*2–2
16+8+0+2+0+0.5+0.25 = 26.75
Por lo tanto tenemos que un número en un sistema de base® tiene coeficientes
multiplicados por potencias de ® y quedaría representado de la siguiente manera :
an*rn+ an*rn+ . . . + a2*r2+ a1*r1+ a0*r0+ a-1*r-1+ . . . + a-m*r-m
Tipos de Codigos
- Codigos Decimales
Los codigos binarios para digitos decimales requieren un minimo de cuatro bits. Se obtiene
numerosos codigos diferentes al ordenar cuatro o mas bits en diez distintas combinaciones.
- Codigos de Deteccion de Error
La informacion binaria, se trata de señales de pulso modulado o bien, entrada o salida
digital a computadora, puede transmitirse a traves de alguna forma de medio de
comunicacion, como alambres u ondas de radio. Cualquier ruido externo que se introduce
en un medio de comunicacion fisica cambia los valores de bits de 0 a 1 y viceversa.
- Codigo Reflejado
Los sistemas digitales pueden diseñarse para procesar datos solo en una forma discreta.
Muchos sistemas fisicos suministran salida de informacion continua. Esta informacion
puede convertirse en forma digital o discreta antes de que se aplique a un sistema digital.
La informacion continua o analogica se convierte en forma digital mediante un convertidor
de analogico a digital.
Esp. Alexis Olvany Torres Ch
- Codigos Alfanumericos
Muchas de las aplicaciones de las computadoras digitales requieren la manipulacion de
datos que constan no solo de numeros, sino tambien de letras. Por ejemplo, una compañia
de seguros con millones de tenedores de poliza debe usar una computadora digital para
procesar sus archivos. Para representar el nombre del tenedor de poliza en forma binaria, es
necesario tener un codigo binario para el alfabeto. Ademas, el mismo codigo binario debe
representar numeros decimales y algunos otros caracteres especiales. Un codigo
alfanumerico (algunas veces abreviado alfamerico) es un codigo binario de un grupo de
elementos que consta de diez digitos decimales, las 26 letras del alfabeto y cierto numero
de simbolos especiales como $. El numero total de elementos en un grupo alfanumerico es
mayor de 36. Por lo tanto, debe codificarse con un minimo de 6 bits (26=64, pero 25=32 no
es suficiente).
Codigos Numericos
Digito Decimal 8421(BCD) Exceso −3 84–2−1 2421 5043210(Biquinario)
0
0000
0011
0110
01 0 1
0100
0111
01 0 0
0101
1000
10 1 1
0110
1001
10 1 0
0111
1010
10 0 1
1000
1011
10 0 0
1001
1100
11 1 1
1001000
9
1111
01 1 0
1000100
8
1110
0101
1000010
7
1101
0010
1000001
6
1100
01 1 1
0110000
5
1011
0100
0101000
4
0100
0001
0100100
3
0011
00 0 0
0100010
2
0010
0011
0100001
1
0001
0000
1010000
Esp. Alexis Olvany Torres Ch
Código reflejado de cuatro bits (Código Gray)
Código Reflejado Decimal
0000
0
0001
1
0010
2
0011
3
0110
4
0111
5
0101
6
0100
7
1100
8
1101
9
1111
10
1110
11
1010
12
1011
13
1001
14
1000
15
Codigos Alfanumericos
Carácter Codigo interno Código ASCII Código EBCDIC Código de tarjeta
6 - bits 7 - bits 8 - bits 12 - bits
A
010 001
100 0001
1100 0001
B
010 010
100 0010
1100 0010
C
010 011
100 0011
1100 0011
D
010 100
100 0100
1100 0100
E
010 101
100 0101
1100 0101
F
010 110
100 0110
1100 0110
12,1
12,2
12,3
12,4
12,5
12,6
Esp. Alexis Olvany Torres Ch
G
010 111
100 0111
1100 0111
H
011 000
100 1000
1100 1000
12,7
12,8
I
011 001
100 1001
1100 1001
100 1010
1101 0001
12,9
J
100 001
11,1
K
100 010
100 1011
1101 0010
100 1100
1101 0011
11,2
L
100 011
11,3
M
100 100
100 1101
1101 0100
11,4
N
100 101
100 1110
1101 0101
O
100 110
100 1111
1101 0110
P
100 111
101 0000
1101 0111
Q
101 000
101 0001
1101 1000
R
101 001
101 0010
1101 1001
S
110 010
101 0011
1110 0001
T
110 011
101 0100
1110 0010
U
110 100
101 0101
1110 0011
V
110 101
101 0110
1110 0100
11,5
11,6
11,7
11,8
11,9
0,2
0,3
0,4
0,5
W
110 110
101 0111
1110 0101
0,6
X
110 111
101 1000
1110 0111
Y
111 000
101 1001
1110 1000
0,7
0,8
Esp. Alexis Olvany Torres Ch
Z
111 001
101 1010
1110 1001
0
000 000
011 0000
1111 0000
1
000 001
011 0001
1111 0001
2
000 010
011 0010
1111 0010
3
000 011
011 0011
1111 0011
4
000 100
011 0100
1111 0100
5
000 101
011 0101
1111 0101
6
000 110
011 0110
1111 0110
7
000 111
011 0111
1111 0111
8
001 000
011 1000
1111 1000
9
001 001
011 1001
1111 1001
0,9
0
1
2
3
4
5
6
7
8
9
espacio 110 000 010 0000 0100 0000 no perforado
.
011 011
010 1110
0100 1011
111 100
010 1000
0100 1101
12,8,3
(
12,8,5
+
010 000
010 1011
0100 1110
101 011
010 0100
0101 1011
101 100
010 1010
0101 1100
12,8,6
$
11,8,3
*
11,8,4
)
11,8,5
011 100
010 1001
0101 1101
Esp. Alexis Olvany Torres Ch
-
100 000
010 1101
0110 0000
/
110 001
010 1111
0110 0001
,
111 011
010 1100
0110 1011
11
0,1
0,8,3
=
001 011
010 1101
0111 1110
8,6
Representación
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
|
x
y
0
o
n
1
|
x
y
0
o
n
0
o
n
1
|
x
y
1
|
x
y
0
o
n
1
|
x
y
0
o
n
El valor numérico representado en cada caso depende del valor asignado a cada símbolo.
En un ordenador, los valores numéricos pueden ser representados por dos voltajes
diferentes y también se pueden usar polaridades magnéticas sobre un disco magnético. Un
"positivo", "sí", o "sobre el estado" no es necesariamente el equivalente al valor numérico
de uno; esto depende de la arquitectura usada.
De acuerdo con la representación acostumbrada de cifras que usan números árabes, los
números binarios comúnmente son escritos usando los símbolos 0 y 1. Cuando son escritos,
los números binarios son a menudo subindicados, prefijados o sufijados para indicar su
base, o la raíz. Las notaciones siguientes son equivalentes:







100101 binario (declaración explícita de formato)
100101b (un sufijo que indica formato binario)
100101B (un sufijo que indica formato binario)
bin 100101 (un prefijo que indica formato binario)
1001012 (un subíndice que indica base 2 (binaria) notación)
%100101 (un prefijo que indica formato binario)
0b100101 (un prefijo que indica formato binario, común en lenguajes de
programación)
Esp. Alexis Olvany Torres Ch
Operaciones con números binarios
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
Operamos como en el sistema decimal: comenzamos a sumar desde la derecha, en nuestro
ejemplo, 1 + 1 = 10, entonces escribimos 0 en la fila del resultado y llevamos 1 (este "1" se
llama acarreo o arrastre). A continuación se suma el acarreo a la siguiente columna: 1 + 0
+ 0 = 1, y seguimos hasta terminar todas la columnas (exactamente como en decimal).
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)
10001
-01010
——————
00111
Restamos 217 - 171 = 46 (3=690)
11011001
-10101011
—————————
00101110
Esp. Alexis Olvany Torres Ch
A pesar de lo sencillo que es el procedimiento, es fácil confundirse. Tenemos interiorizado
el sistema decimal y hemos aprendido a restar mecánicamente, sin detenernos a pensar en
el significado del arrastre. Para simplificar las restas y reducir la posibilidad de cometer
errores hay varias soluciones:

Dividir los números largos en grupos. En el siguiente ejemplo, vemos cómo se
divide una resta larga en tres restas cortas:
100110011101
-010101110010
—————————————
010000101011

=
1001
-0101
—————
0100
1001
-0111
—————
0010
1101
-0010
—————
1011
Utilizando el complemento a dos. La resta de dos números binarios puede obtenerse
sumando al minuendo el complemento a dos del sustraendo. Veamos algunos
ejemplos. Hagamos la siguiente resta, 91 - 46 = 45, en binario:
1011011
-0101110
————————
0101101
C2 de 46 = 1010010
1011011
+1010010
————————
10101101
En el resultado nos sobra un bit, que se desborda por la izquierda. Pero, como el número
resultante no puede ser más largo que el minuendo, el bit sobrante se desprecia.
Un último ejemplo: vamos a restar 219 - 23 = 196, directamente y utilizando el
complemento a dos:
11011011
-00010111
—————————
11000100
C2 de 23 = 11101001
11011011
+11101001
—————————
111000100
Y, despreciando el bit que se desborda por la izquierda, llegamos al resultado correcto:
11000100 en binario, 196 en decimal.

Utilizando el complemento a 1. La resta de dos números binarios puede obtenerse
sumando al minuendo el complemento a uno del sustraendo y a su vez sumarle el
bit de overflow (bit que se desborda).
Producto de números binarios
El algoritmo del producto en binario es igual que en números decimales; aunque se lleva
cabo con más sencillez, ya que el 0 multiplicado por cualquier número da 0, y el 1 es el
elemento neutro del producto.
Esp. Alexis Olvany Torres Ch
Por ejemplo, multipliquemos 10110 por 1001:
10110
1001
—————————
10110
00000
00000
10110
—————————
11000110
En sistemas electrónicos, donde se suelen utilizar números mayores, no se utiliza este
método sino otro llamado algoritmo de Booth.
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
Conversión entre binario y decimal, binario y octal, y
binario y hexadecimal
Binario a decimal
Para realizar la conversión de binario a decimal, realice lo siguiente:
Esp. Alexis Olvany Torres Ch
1. Inicie por el lado derecho del número en binario, cada número multiplíquelo por 2 y
elévelo a la potencia consecutiva (comenzando por la potencia 0).
2. Después de realizar cada una de las multiplicaciones, sume todas y el número
resultante será el equivalente al sistema decimal.
Ejemplos:

110101 (binario) = 53 (decimal). Proceso:
1*(2) elevado a
0*(2) elevado a
1*(2) elevado a
0*(2) elevado a
1*(2) elevado a
1*(2) elevado a
La suma es: 53

10010111 (binario) = 151 (decimal). Proceso:
1*(2) elevado a
1*(2) elevado a
1*(2) elevado a
0*(2) elevado a
1*(2) elevado a
0*(2) elevado a
0*(2) elevado a
1*(2) elevado a
La suma es: 151

(0)=1
(1)=0
(2)=4
(3)=0
(4)=16
(5)=32
(0)=1
(1)=2
(2)=4
(3)=0
(4)=16
(5)=0
(6)=0
(7)=128
110111 (binario) = 55 (decimal). Proceso:
1*(2) elevado a
1*(2) elevado a
1*(2) elevado a
0*(2) elevado a
1*(2) elevado a
1*(2) elevado a
La suma es: 55
(0)=1
(1)=2
(2)=4
(3)=0
(4)=16
(5)=32
También se puede optar por utilizar los valores que presenta cada posición del número
binario a ser transformado, comenzando de derecha a izquierda, y sumando los valores de
las posiciones que tienen un 1.
Por ejemplo: el número binario 1010010 corresponde en decimal al 82 se puede representar
de la siguiente manera:
64
1
32
0
16
1
8
0
4
0
2
1
1
0
entonces se suma los números 2, 16 y 64:
Esp. Alexis Olvany Torres Ch
2
+16
64
---82
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
0
50 |_2
0 25 |_2
--> 100
1 12 |_2
0 6 |_2
0 3 |_2
1 1
1100100
Otra forma de conversión consiste en un método parecido a la factorización en números
primos. Es relativamente fácil dividir cualquier número entre 2. Este método consiste
también en divisiones sucesivas. Dependiendo de si el número es par o impar, colocaremos
un cero o un uno en la columna de la derecha. Si es impar, le restaremos uno y seguiremos
dividiendo por dos, hasta llegar a 1. Después sólo nos queda tomar el último resultado de la
columna izquierda (que siempre será 1) y todos los de la columna de la derecha y ordenar
los dígitos de abajo a arriba. Y luego se haría un cuadro con las potencias con el resultado.
Ejemplo:
100|0
50|0
25|1
12|0
6|0
3|1
1|1
--> 1, 25-1=24 y seguimos dividiendo por 2
--> 100
1100100
Existe un último método denominado de distribución. Consiste en distribuir los unos
necesarios entre las potencias sucesivas de 2 de modo que su suma resulte ser el número
decimal a convertir. Sea por ejemplo el número 151, para el que se necesitarán las 8
primeras potencias de 2, ya que la siguiente, 28=256, es superior al número a convertir. Se
comienza poniendo un 1 en 128, por lo que aún faltarán 23, 151-128=23, para llegar al 151.
Este valor se conseguirá distribuyendo unos entre las potencias cuya suma den el resultado
buscado y poniendo ceros en el resto. En el ejemplo resultan ser las potencias 4, 2, 1 y 0,
esto es, 16, 4, 2 y 1, respectivamente.
Esp. Alexis Olvany Torres Ch
Ejemplo:
20=
1|1
21=
2|1
22=
4|1
23=
8|0
24= 16|1
25= 32|0
26= 64|0
27= 128|1
128+16+4+2+1=151
10010111
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
3) La cantidad correspondiente en octal se agrupa de izquierda a derecha.
Ejemplos:

110111 (binario) = 67 (octal). Proceso:
111 = 7
110 = 6
Agrupe de izquierda a derecha: 67

11001111 (binario) = 317 (octal). Proceso:
111 = 7
001 = 1
11 entonces agregue un cero, con lo que se obtiene 011 = 3
Agrupe de izquierda a derecha: 317

1000011 (binario) = 103 (octal). Proceso:
011 = 3
000 = 0
1 entonces agregue 001 = 1
Agrupe de izquierda a derecha: 103.
Esp. Alexis Olvany Torres Ch
Octal a binario [
Cada dígito octal se lo convierte en su binario equivalente de 3 bits y se juntan en el mismo
orden. Ejemplo:

247 (octal) = 010100111 (binario). El 2 en binario es 10, pero en binario de 3 bits es
Oc(2) = B(010); el Oc(4) = B(100) y el Oc(7) = (111), luego el número en binario
será 010100111.
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úme
ro en
binari
o
00
00
00
01
00
10
00
11
01
00
01
01
01
10
01
11
10
00
10
01
10
10
10
11
11
00
11
01
11
10
11
11
Númer
o en
hexad
ecimal
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:
1010 = A
1011 = B
1 entonces agregue 0001 = 1
Agrupe de izquierda a derecha: 1BA

11011110101 (binario) = 6F5 (hexadecimal). Proceso:
0101 = 5
1111 = F
110 entonces agregue 0110 = 6
Agrupe de izquierda a derercha: 6F5
Esp. Alexis Olvany Torres Ch
Hexadecimal a binario
Ídem que para pasar de hexadecimal a binario, solo que se remplaza por el equivalente de 4
bits, como de octal a binario.
Tabla de conversión entre decimal, binario, hexadecimal,
octal, BCD, Exceso 3 y Gray o Reflejado
Decimal
Binario
Hexadecimal
Octal
0
0000
0
0
1
0001
1
2
0010
3
BCD
Exceso 3
Gray o Reflejado
0000
0011
0000
1
0001
0100
0001
2
2
0010
0101
0011
0011
3
3
0011
0110
0010
4
0100
4
4
0100
0111
0110
5
0101
5
5
0101
1000
0111
6
0110
6
6
0110
1001
0101
7
0111
7
7
0111
1010
0100
8
1000
8
10
1000
1011
1100
9
1001
9
11
1001
1100
1101
10
1010
A
12
0001 0000
11
1011
B
13
0001 0001
Esp. Alexis Olvany Torres Ch
12
1100
C
14
0001 0010
13
1101
D
15
0001 0011
14
1110
E
16
0001 0100
15
1111
F
17
0001 0101
Nombre Abrev.
Factor binario
Tamaño en el SI
bytes
B
20 = 1
100 = 1
kilo
k
210 = 1024
103 = 1000
mega
M
220 = 1 048 576
106 = 1 000 000
giga
G
230 = 1 073 741 824
109 = 1 000 000 000
tera
T
240 = 1 099 511 627 776
1012 = 1 000 000 000 000
peta
P
250 = 1 125 899 906 842 624
1015 = 1 000 000 000 000 000
exa
E
260 = 1 152 921 504 606 846 976
1018 = 1 000 000 000 000 000 000
zetta
Z
270 =
1 180 591 620 717 411 303 424
1021 =
1 000 000 000 000 000 000 000
Y
280 =
1024 =
1 208 925 819 614 629 174 706 176 1 000 000 000 000 000 000 000 000
yotta
Esp. Alexis Olvany Torres Ch