Está en la página 1de 49

Pr. Dr.

Xavier Bonnaire

Slide 1 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Temario

● Introducción
● Sistemas Numéricos
● Conversión entre Bases Numéricas
● Introducción a la Aritmética Computacional
● Códigos

Slide 2 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Introducción

● Informática
– informática

(Del fr. informatique).


● 1. f. Conjunto de conocimientos científicos y técnicas que hacen posible el
tratamiento automático de la información por medio de ordenadores.
● Informática
– Manejar informaciones
● Guardar, Procesar
● Representar la información
● Transformar la información

Slide 3 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Introducción

● Representación de la información
– Es una abstracción
● Del espacio mental
● Del lenguaje
● De la tipografía

La unidad de información es el bit (valores 0, 1)

Slide 4 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Información Analógica y Digital

● En el mundo real
– Muchas informaciones son continuas
● El espacio temporal
● El espacio físico
● El sonido
● ...
– Algunas son digitales
● Precios
● Temperatura
● ...

Slide 5 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Información Analógica y Digital

● Señal analógica
– Una señal se expresa como una función del tiempo
– Cada nivel de la función g(t) aporta información
– Ejemplos
● Señal audio (de un instrumento, radio, etc...)
● Señal vídeo ( TV, Camara, etc...)
● Señal Digital
– También se expresa como una función del tiempo
– La función es una función discreta con varios niveles
– Solamente esos niveles aportan información
– Ejemplos
● CD, DVD, TV-Cable

Slide 6 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Información Analógica

● Función g(t) continua en términos matemáticos


– Cada valor de g(t) aporta información

g(t)

Información
t

Slide 7 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Información Digital

● Una función g(t) discreta en términos matemáticos

4 niveles
Nivel 4

Nivel 3

Nivel 2

t
Nivel 1

Slide 8 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Tranformación Analógico / Digital

● Señal Digital
– Se puede transformar en una señal analógica
● Ejemplo: los CD, DVD
● Señal Analógica
– Se puede transformar en una señal digital (Digitalización)
– Pero se pierde en calidad de la información
● Infinitos niveles a niveles finitos
● Discretización de g(t)
– Se hace con circuitos especializados (ASICS)
● Los DSP (Digital Signal Processors)

Slide 9 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Digitalización

● ¿Por qué conviene digitalizar?


– Se evita la deriva
● Los circuitos analógicos pueden producir derivas por el calor durante el
funcionamiento
● Transistores, Resistencias
– Se puede corregir los errores
● Usando códigos de corrección incorporados en los datos
● Códigos CRC (Cross Redundancy Codes)
● Códigos Reed Solomon
● Ejemplos: CD, DVD, TV-Cable, etc...
– Permite reducir los costos
● Circuitos VLSI, DSP
– Almacenamiento más fácil y eficiente

Slide 10 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Sistemas Numéricos Posicionales

● Sistema Numérico Posicional


– Es un sistema donde el valor de un dígito depende de la posición
en la que se encuentra
– En general:

0
d m−1 d m−2 ... d ¿ d 0⋅b0 d 1 ⋅b1 ...d m−2⋅bm−2d m−1⋅bm−1
Es decir:
0
i = m−1
d m−1 d m− 2 ... d ¿ ∑ d i⋅b
i

i =0

d0,d1,d2,...,dm son los digitos. Si la base es b, existen b digitos


representables.

Slide 11 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
El sistema decimal

● Es el sistema numérico comúnmente el mas usado


● Un número en el sistema decimal corresponde a un
polinomio en base 10
● La base 10 tiene 10 digitos (0,1,2,3, ..., 9)
– Por ejemplo el número 6903 se puede expresar por el polinomio:

6903 =3 ⋅10 0 0 ⋅101 9 ⋅10 2 6 ⋅103

d3 d2 d1 d0

Slide 12 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
El sistema decimal

● La notación anterior se puede extender a números con


punto o coma decimal
– Por ejemplo:

6903,78 =3 ⋅100 0 ⋅101 9 ⋅10 2 6 ⋅103 7 ⋅10−1 8 ⋅10−2


– En general:
d m−1 d m−2 ... d 1 d 0, d −1 d −2 ... d −k

es igual a

0 1 m− 2 m−1 −1 −k
d 0⋅b d 1⋅b ...d m−2⋅b d m−1⋅b d −1⋅b ...d −k⋅b

Slide 13 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
El Sistema Binario

● Si la base b=2, el sistema numérico se denomina


sistema binario. El conjunto de dígitos representables
es {0,1}. Este conjunto se denomina bits. Por ejemplo:
4 3 2 1 0
10011=1 ⋅2 0 ⋅2 0 ⋅2 1 ⋅2 1 ⋅2 =1910
– Para eliminar problemas de interpretación, la base se indica con un
subíndice. Por ejemplo 1910
– También se puede generalizar para números con punto decimal:

0 −1 −2 −3 −4
1,1101=1 ⋅2 1 ⋅2 1 ⋅2 0 ⋅2 1 ⋅2 =1.812510

Slide 14 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Otras Bases Numéricas Interesantes

● Si b=8, el sistema numérico se denomina sistema octal


– El conjunto de dígitos es {0,1,2,...7}
– Por ejemplo:

3 2 1 0 −1
1753,68=1 ⋅8 7 ⋅8 5 ⋅8 3 ⋅8 6 ⋅8 =1003.7510
● Si la base b=16, el sistema numérico se denomina
sistema Hexadecimal
– El conjunto de dígitos es {0,1,2,...9,A,B,C,D,E,F}
– Por ejemplo:
4 3 2 1 0
A67F916 =10 ⋅16 6 ⋅16 7 ⋅16 15 ⋅16 9 ⋅16 =68197710
Slide 15 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Las Bases Octal y Hexadecimal

● Tienen una gran importancia en arquitectura de


computadores
– Permiten representar la información binaria en forma compacta
– En el lenguaje C, se pueden representar constantes octales y
hexadecimales:

const int i=056; // el prefijo 0 indica


// que el valor es octal
const int j=0xA9; // el prefijo 0x indica
//que el valor es hexadecimal

Slide 16 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Conversiones entre Bases Numéricas

● Base Decimal --> Binaria


– Se dividen sucesivamente los cuocientes por 2 y se registran los
restos de la división
– Por ejemplo, convertir 1910 en binario:

19 2
9 1
4 1 1910 = 100112
2 0 Restos
1 0
0 1

Slide 17 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Conversión entre Bases Numéricas

● Con el mismo método que la base 2 se puede convertir


un número decimal a base octal
– Por ejemplo, convertir 47810 a base octal:

478 8

59 6
7 3 Restos 4788 = 73610
0 7

● Y la conversión en decimal
– Evaluando el polinomio correspondiente
2 1 0
7368=7 ⋅8 3 ⋅8 6 ⋅8 =47810
Slide 18 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Conversión entre Bases Numéricas

● Otro ejemplo
– Convertir 47810 a base Hexadecimal:

478 16

29 14
1 13 Restos 47810 = 1DE16
0 1

Digito Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Digito Hexa 0 1 2 3 4 5 6 7 8 9 A B C D E F

Slide 19 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Conversión Binario / Hexadecimal / Octal

0000 0
● Propiedades de las bases 0001 1
numéricas 0010 2
– Las bases que son potencias de 2 0011 3
permiten una conversión rápida 0100 4
0101 5
– Por ejemplo: b=8=23 , y b=16=24
0110 6
– Si b=2n, se puede separar en grupos 0111 7
de n bits y convertir el grupo 1000 8
– Por ejemplo: 1001 9
1010 A
1011 B
1100 C
1010 1101 0110 1011
1101 D
A D 6 B 1110 E
1111 F

Slide 20 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Conversión Binario / Hexadecimal / Octal

● Ejemplo, convertir a octal:


1 010 110 101 101 011

1 2 6 5 5 3
– Esta propiedad justifica el amplio uso de números octales y
hexadecimales como forma de compactar la representación de
números binarios. Usaremos esta representación en los lenguajes
de máquina y para expresar códigos.
– Ejemplo: Dirección MAC para un adaptador de red:

00:60:08:DC:31:CC
● Equivale a un número de 48 bits

Slide 21 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Introducción a la Aritmética Computacional

● Los computadores actuales son binarios


● Información que maneja un computador
– Es almacenada en dispositivos de hardware llamados Registros
– Se denomina ancho del registro al número de bits que puede
almacenar
– Los procesadores de tecnología actual tienen registros de 32, 64, o
128 Bits
– El número de registros que tiene un procesador es variable de un
procesador a otro
● Tecnología CISC (Complex Instruction Set Computer) = Pocos registros
● Tecnología RISC (Reduced Instruction Set Computer) = Muchos registros

Slide 22 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Registros

● Usaremos la siguiente notación para representar


registros

1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1
Registro de 16 bits
● Se denomina Byte, un conjunto de 8 bits
– Como notación se usa b para bits, y B para Bytes
– El registro anterior tiene 16b o 2B
– 1KB = 1024 Bytes = 210 Bytes
1MB = 1024 Kbytes = 220 Bytes
1GB = 1024 Mbytes = 230 Bytes
...

Slide 23 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Registros

● Tamaño de los registros


– La información máxima que puede manejar un procesador está
limitada por el tamaño de los registros o de un conjunto de registros
– Con un registros de 16b, el mayor entero representable es:

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Registro de 16 bits
Valor Maximo = 6553510
● Tamaño actual
– La mayoria de los procesadores actual son de 32Bits o de 64Bits
– El entero mas grande es 232 o 264

Slide 24 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Representación de Números

● Los computadores tienen una aritmética de precisión


finita debido a la limitación de los registros
● ¿Cómo representar números negativos?
● ¿Cómo representar números que tienen punto
decimal?

Slide 25 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Representación de Números Negativos

● Por convención
– Se utiliza el bit más significativo (el bit de potencia más alta) para
representar el signo
– Los números positivos tienen el bit más significativo a 0
– Los números negativos tienen el bit más significativo a 1

0 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1
Número positivo

1 0 1 0 1 1 0 1 0 1 1 0 1 0 1 1
Número negativo

Slide 26 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Representación de Números Negativos

● Existen tres formas para representar números


negativos
– Signo y Magnitud (S-M)
– Complemento Uno (C-1)
– Complemento Dos (C-2)
● Los números positivos se representan de la misma
manera en la tres formas
● Todo los computadores modernos usan la forma
Complemento Dos (C-2)
– Esa forma tiene muchas ventajas

Slide 27 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Números Negativos / Signo y Magnitud

● Magnitud del número


– Corresponde al valor absoluto
– Si consideramos un registro de 5b (5 bits)

1 0 0 1 1
Signo = 1 = negativo
Magnitud = 3

Signo Magnitud Valor = -3


0 = positivo
1 = negativo

– Se puede observar que existen dos ceros: +0 y -0


● Esto puede traer serias complicaciones en los cálculos aritméticos

Slide 28 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Números Negativos / Signo y Magnitud

● En general
– Si el ancho de los registros es n, el rango representable está dado
por:

−2 n−1−1≤N ≤2 n−1−1


– Por ejemplo si el ancho de los registros es de 5 bits, queda:
-0 +0
−15 ≤N ≤15 -1
+1
-2
+2
Representación circular

-15 +15

Slide 29 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Complemento Uno

● El Complemento Uno de un número


– Se obtiene complementando cada bit (NOT)
– Ejemplo para representar -3 con un registro de 5 bits:

Primero se considera +3

0 0 0 1 1

Se complementa cada bit

NOT ( 0 0 0 1 1 )= 1 1 1 0 0

Slide 30 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Complemento Uno

● Igual que en S-M


– Existen dos ceros: -0 y +0
– En general, si el ancho de los registros es n, el rango representable
está dado por:

n−1 n−1
−2 −1≤N ≤2 −1
-0 +0
-1
+1
Representación circular con un -2
registro de 5 bits +2

-15 +15

Slide 31 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Complemento Dos

● El Complemento Dos de un número N en un registro


de ancho n
– Se obtiene calculando: 2 n−N
– Si consideramos representar -3 en un registro de 5 bits:

25 1 0 0 0 0 0

3 1 0 0 0 0 0

0 1 1 1 0 1 C-2

Slide 32 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Complemento Dos

● Una forma más fácil de obtener C-2


– Calcular el C-1 y sumar uno

0 0 0 1 1 3

1 1 1 0 0 C-1 de 3

+ 1

1 1 1 0 1 C-2 de 3

Slide 33 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Complemento Dos

● Se puede observar que


– Sólo hay una representación para el cero
– Hay una asimetría ya que el valor absoluto de máximo número
negativo es mayor que el máximo positivo
Con registros de 5 bits

Máx Negativo 1 0 0 0 0

Máx Positivo 0 1 1 1 1
– En general, si el ancho de los registros es n, el rango representable
está dado por:

−2 n−1≤N ≤2 n−1−1

Slide 34 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Suma de Registros

● Suma en C-2
– Es el caso más frequente en los procesadores actuales
– Para sumar en C-2, se suma los números en forma binaria
– Precaución: con los números que tienen el mismo signo, podría
ocurrir rebalse (overflow)
● Esto significa que el resultado no cabe en los bits disponibles en el registro
– Para detectar el overflow, se usa un bit especial llamado Carry

Slide 35 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Sumas Binarias

Carry de 1
Salida Carry de Carry de
1 1 Salida Entrada
1 1
+ 1
+ 0
0
0

No hay carry de entrada Hay carry de entrada y se


y se genera carry de salida genera carry de salida

Slide 36 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Suma de Registros

● Ejemplo: 8+ (-3) en registros de ancho 5b

0 1 0 0 0 +8

+ 1 1 1 0 1 -3 en C-2

0 0 1 0 1 Resultado en C-2

Slide 37 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Suma de Registros - Overflow

● Ejemplo de 8+9 en registros de ancho 5b

0 1 0 0 0 +8

+ 0 1 0 0 1 +9

1 0 0 0 1 ¡Cambió el signo!

Se genera Se genera carry 1 que


carry 0 entra a la última etapa

Slide 38 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Suma de Registros - Overflow

● Detección del Overflow en C-2


– Hay que observar el carry que entra al bit de signo, y el carry que
se genera en el bit de signo
– Ocurre overflow cuando ambos carry son diferentes
● Unidades aritméticas
– Los procesadores tienen una lógica que permite detectar
automáticamente esta situación
– Se genera una exception de overflow

Slide 39 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Sumas en Complemento Uno

● Procesadores
– No hay procesadores modernos que usen C-1
● Algoritmos de detección de errores
– Se usa C-1 en algoritmos de detección y corrección de errores en
transmisión de datos (Checksum)
● Redes
● CD / DVD (Codigos CRC, Reed Solomon, ...)

Slide 40 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Sumas en Complemento Uno

● Ejemplo de 8+(-3) en C-1, registros de ancho 5b

0 1 0 0 0 +8
+
1 1 1 0 0 -3 en C-1

+ 0 0 1 0 0

1 End Around Carry

0 0 1 0 1 Resultado en C-1

Slide 41 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Códigos

● Un código
– Es una relación entre dos conjunto de símbolos
– El dominio es un conjunto arbitrario
● Letras
● Símbolos gráficos
● Números
– El co-dominio es un conjunto de strings de bits
– Los códigos son un pilar fundamental de los Sistemas de
Computación .
– La teoría de los códigos es la disciplina que estudia sus
propiedades
– Existen varios códigos en computación

Slide 42 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Códigos

a
1101
11001
@
110101
5

B 1001

Dominio Co-Dominio

Slide 43 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
El Código BCD

● ¿Como representar el número 199510?


– Una solución, convertirlo a binario

199510 = 111110010112
– Dificultad de este método
● La Conversión
● Se puede hacer solamente cuando se conoce el número completo
● Dificulta de la entrada

Slide 44 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
El Código BCD

● El código BCD permite una conversion facil entre


decimales y binarios
– Es útil en teclados numéricos

Decimal BCD Decimal BCD


7 8 9 0 0000 5 0101
1 0001 6 0110
4 5 6
2 0010 7 0111
1 2 3 3 0011 8 1000
0 4 0100 9 1001

Ejemplo: 219= 0010 0001 1001

Slide 45 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
El Código Gray

● El Código Gray tiene interesantes propiedades que se


utilizarán en el próximo capítulo.
● El Código Gray se define de la siguiente manera:
– Código Gray de un bit= {0,1}
– Dado un Código Gray de d-bits, se puede construir un Código Gray
de (d+1)-bits haciendo
una lista del Código Gray con prefijo 0,
seguido de una lista del Código Gray en orden inverso con prefijo 1

Slide 46 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Construcción de un Código Gray

0 0 0 0 0
0
0 1 0 0 1
1
1 1 0 1 1

1 0 0 1 0
1 1 0
1 1 1
1 0 1
1 0 0

Slide 47 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Código Gray de 3 bits

i G(i) G(i)
0 0 0 0 0
1 0 0 1 1
2 0 1 1 3
Se define el inverso G-1(i)=j ssi
3 0 1 0 2 G(j)=i
4 1 1 0 6 Ejemplo:
5 1 1 1 7 G-1(6) = 4
6 1 0 1 5
7 1 0 0 4

Slide 48 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática
Otros Códigos

● Existen varios otros codigos


– El código ASCII (American Standard Code for Information
Interchange)
● El más usado para representar las letras, digitos, etc...
– El código EBCDIC
● Utilizado en unos terminales de IBM
– UNICODE
● El código Up To Date para representar letras y símbolos
– www.unicode.org

Slide 49 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María
María – Departamento de
Informática

También podría gustarte