TEMA 5: REPRESENTACION DE DATOS.
1.- SISTEMA BINARIO.
- Para convertir numeros en base
10 a base 2 (binario), basta dividir el numero entre 2, e igualmente el
cociente, hasta que este sea 1. El numero en binario es este 1 y todos los restos
(0 y 1) de las repetidas divisiones.
Ej: 10
|2 .
0
5 |2 .
1
2 |2 .
0
1
10 en decimal es 1010.
- Para convertir numeros en
binario a decimal, se suman las potencias de dos multiplicadas por los 1 y 0
que corresponden en el numero binario.
Ej: 1010= 0·20 + 1·21 + 0·22
+ 1·23= 0+2+0+8=10. El
1010 en binario es 10 en decimal.
- Operaciones aritmeticas:
- SUMA:
0+0=0
1+0=1
0+1=1
1+1=0
(y acarreo 1)
- RESTA:
0-0=0
1-0=1
0-1=1
(y acarreo 1)
1-1=0
- MULTIPLICACION:
0
· 0=0
1
· 0=0
0
· 1=0
1
· 1=1
- DIVISION: Igual
que en decimal.
Ej: 1100 |100 .
-100 11
100
-100
0
- Numeros negativos.
1.- Signo y magnitud: 1 bit representa
el signo (Most Significant Bit): 0 es positivo y 1 es negativo. El resto de los
bits son el valor absoluto.
Ej: 27 en decimal = 011011
en binario
-27 en decimal = 111011 en binario
2.- Complemento a 1. Se calcula
cambiando los 0 por 1 y viceversa. Esto se utiliza para las restas.
Ej: 63-28= 63+(-28)
00111111 Si nos sale un bit mas por
acarreo, significa que es positivo. Este aca-
+ 11100011 acarreo hay que sumarselo al
ultimo bit (LSB)
1 00100010
00100011
Ej: 28-63= 28+(-63)
00011100 Si no nos sale bit de acarreo, el
numero es negativo.
+ 11000000 Para saber el modulo, hallo el
complemento a 1.
11011100
00100011=35, como
es negativo, -35.
3.- Complemento a 2. Hallo el complemento
a 1 y le sumo 1. Las operaciones en C-2 son igual que en C-1, pero si hay acarreo, no se lo sumamos (aunque si
indica que es positivo).
- Numeros Fraccionarios.
- Para pasar
de binario a decimal, es igual que con
enteros:
Ej: 100.01= 0·20 +
0·21 + 1·22 + 0·2-1 + 1·2-2.
- Para pasar de
decimal a binario, separamos la parte entera de la parte decimal. La parte
entera la convertimos como antes. Para la parte decimal, vamos multiplicando
por 2, tomando la parte entera del resultado (1 o 0), hasta que nos de un 1.
Ej: 0.687510=
0.10112
0.6875 · 2 = 1.375 1
0.375 · 2 = 0.75 0
0.75 · 2 = 1.5 1
0.5 · 2= 1 1
2.- NOTACION HEXADECIMAL
En base 16 usamos del 0 al 9 y
de la A a la F (10 - 16).
- Conversion de base 10 a 16.
Dividimos por 16 el numero y sus cocientes.
Ej: 728
|16 . 72810 =
2D816
8 45
|16 .
D=13 2
- Conversion de base 16 a 10.
Multiplicamos por potencias sucesivas de 16.
Ej: 13D16=13·160 + 3·161
+ 1·162 = 31710
- Conversion directa de binario
a hexadecimal. Hacemos grupos de 4 bits, empezando por la derecha. Ej: 10 1101 11002 = 2DC16
2 D
C
- Conversion directa de
hexadecimal a binario. Traducimos cada termino a binario (4 bits).
Ej: 10C16 = 0001 0000 11002
3.- NOTACION OCTAL
Usamos del 0 al 7.
- Conversion de decimal a octal.
Dividimos por 8 el numero y sus cocientes.
Ej: 304
|8 . 30410 =
4608
0 38
|8 .
6 4
- Conversion de octal a decimal
Ej: 138 = 3·80 +
1·81 = 1110
- Conversion directa de binario
a octal. Agrupamos los bits de 3 en 3.
Ej: 1 011 011 1002 10110111002 =
13348
1
3 3 4
- Conversion directa de octal a
binario. Traducimos termino por termino a binario (3 bits).
Ej: 1078 = 0010001118