Está en la página 1de 41

DEPARTAMENTO DE INFORMÁTICA

profesor.davidas@ies-azarquiel.es

2023-2024
SOM SMR1
REPRESENTACIÓN DE LOS DATOS
1. Introducción
1.1. Introducción

2. Sistemas de numeración
2.1. Sistema de Numeración Romano
2.2. Sistema de Numeración Arábigo

3. Conversiones de bases
3.1. De base (b) a base 10
3.2 . De base 10 a base (b)
3.3. De base (b) a base (c), ambas distintas de 10

4. Aritmética binaria
4.1 . Aritmética binaria

5. Representación de números enteros


5.1 . Binario Puro
5.2 . Signo Magnitud
5.3 . Complemento a 1 (Complemento a la Base Menos 1)
5.4 . Complemento a 2 (Complemento a la Base)
5.5 . Exceso a 2n-1
5.6 . BCD

6. Representación de números reales


6.1. Estándar IEEE 754

7. Representación de caracteres
7.1. EBCDIC
7.2. ASCII
7.3. Unicode
1. INTRODUCCIÓN
• Las computadoras se utilizan para procesar información (gráficos, sonidos, textos,...).

• Pero, ¿cómo es capaz la computadora digital de representar a toda esta información con tan solo
dos símbolos, el cero (0) y el uno (1)?

• Todo el software de la computadora está codificado en bits.

• Ahora bien, dependiendo del diseño de una computadora y del tipo de información a codificar,
se pueden emplear distintas reglas de codificación binaria.

• Respecto al diseño de una computadora, una de las características que más la define es el
máximo número de bits con que la CPU puede trabajar en paralelo (a la vez). A este número de
bits se le conoce como palabra, y suele ser múltiplo de un byte. Así, la palabra suele ser de 8,
16, 32, 64 bits, etc.

• Por otro lado, para tipos de datos diferentes, se utilizan distintos sistemas de codificación, por
ejemplo, no se codifica igual un número entero que un número real o que un carácter. Además,
existen distintos tipos de representación para cada uno de ellos. Por ejemplo, los caracteres se
pueden representar utilizando códigos tales como: ASCII, EBCDIC, Unicode, etc.
2. SISTEMAS DE NUMERACIÓN

Un sistema de numeración define a un conjunto


de signos y reglas para expresar a los números.

A lo largo de la historia los seres humanos hemos


inventado distintos sistemas de numeración.

De ellos, el sistema de numeración romano y el


sistema de numeración arábigo son, hoy por hoy,
dos de los más utilizados
2.1 SISTEMA DE NUMERACIÓN ROMANO

 En el Sistema de Numeración Romano se pueden utilizar los


siguientes símbolos: I, V, X, L, C, D y M, que se corresponden con
los números: "uno", "cinco", "diez", "cincuenta", "cien",
"quinientos" y "mil", respectivamente.

 A continuación, se muestra un resumen de las combinaciones de


símbolos más utilizadas en el Sistema de Numeración Romano.
EJEMPLO:
Los números XV, CLI, LXXVIII y MMXL representan a los números "quince", "ciento cincuenta y uno",
"setenta y ocho" y "dos mil cuarenta".

XV = X + V = 10 + 5 = 15

CLI = C + L + I = 100 + 50 + 1 = 151

LXXVIII = L + X + X + V + I + I = 50 + 10 + 10 + 5 + 1 + 1 + 1 = 78

MMXL = M + M - X + L = 1000 + 1000 - 10 + 50 = 2040

El Sistema Romano tiene el inconveniente principal de que no facilita la realización de cálculos matemáticos
por escrito.

Esto se debe, en gran medida, a que no es un sistema de numeración posicional, es decir, con independencia
de la posición en que aparezca un signo en una secuencia de símbolos romanos, éste siempre vale lo mismo.

Por ejemplo, el signo X siempre representa al número "diez".

A pesar de ello, hoy en día, todavía se usan los números romanos en distintos ámbitos, por ejemplo, para
numerar las horas de algunos relojes, para numerar las primeras páginas de un libro, etc.
2.2 SISTEMA DE NUMERACIÓN ARÁBIGO
Con el Sistema de Numeración Arábigo o Decimal se pueden representar infinitos
números reales.

Para ello, se utilizan diez cifras o dígitos numéricos: 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9 (diez


son los dedos de las manos). También se usan los signos más (+) y menos (-) para
representar a los números positivos y negativos, respectivamente, y un punto (.) o una
coma (,) para separar la parte entera de la parte fraccionaria.

Numero real = parte entera , parte fraccionaria

Ejemplo 1: Los números 5,6 y -502,12 representan a los números "cinco con seis" y
"menos quinientos dos coma doce".
5,6 = 5 + 0,6
-502,12 = -500 - 2 - 0,1 - 0,02

Una de las características más importantes del Sistema Decimal es que es un sistema
de numeración posicional.
SISTEMAS DE NUMERACIÓN POSICIONAL

En un sistema de numeración posicional, cada cifra


representa a un valor relativo diferente, dependiendo de su
valor absoluto y de su posición en una secuencia de dígitos.

Esta característica le convierte en un sistema de numeración


adecuado para realizar operaciones matemáticas por escrito,
tales como: la suma, la resta, la multiplicación o la división.
EJEMPLO 2:
En el Sistema Decimal, el número entero "cuatrocientos
cuarenta y cuatro" se representa como 444. Empezando por la
izquierda, el primer 4 representa al "cuatrocientos" (400), el
segundo 4 representa al "cuarenta" (40) y el último 4 representa
al "cuatro" (4). En este caso, las tres cifras tienen como valor
absoluto: el 4, y como valores relativos: el 400, el 40 y el 4.

444 = 400 + 40 + 4

Un sistema de numeración posicional se caracteriza por su base,


que viene determinada por el número de dígitos que utiliza.
EJEMPLO 3:
La bases de los Sistemas Decimal, Binario, Octal y Hexadecimal son 10, 2,
8 y 16, debido a que usan diez, dos, ocho y dieciséis cifras,
respectivamente.

En la siguiente tabla se muestran los dígitos de cada uno de estos sistemas


de numeración.

Los signos hexadecimales A, B, C, D, E y F equivalen, respectivamente, a


los números 10, 11, 12, 13, 14 y 15 en base 10.
En cualquier sistema de numeración
posicional, una secuencia de dígitos se Ejemplo 4:
puede representar, formalmente, de la
siguiente manera:
Nb = ap-1 ap-2 ... a1 a0 , a-1 a-2 ... a-q+1 a-q En el Sistema Decimal, el número real
4305,86 se puede expresar como
siendo (N) el número o secuencia de signos,
(b) la base, (p) el número de dígitos de la 4305,8610
parte entera, (q) el número de dígitos de la
parte fraccionaria, (ai) las cifras del número
siendo el número N = 4305,86, la base b
e (i) la posición de cada cifra con respecto a
la coma (,). Cumpliéndose que para todo
= 10, el número de dígitos de la parte
dígito a, entera p = 4, el número de dígitos de la
parte fraccionaria q = 2 y las cifras a3 =
0 <= a <= b-1 4, a2 = 3, a1 = 0, a0 = 5, a-1 = 8 y a-2 = 6.

y para toda posición i, Cumpliéndose que para todo dígito a,


0 <= a <= 9
-q <= i <= p-1
y para toda posición i,-2 <= i <= 3
Ejemplo 4:
En el Sistema Decimal, el número real 4305,86 se puede expresar como
4305,8610

siendo el número N = 4305,86, la base b = 10, el número de dígitos de


la parte entera p = 4, el número de dígitos de la parte fraccionaria q = 2
y las cifras a3 = 4, a2 = 3, a1 = 0, a0 = 5, a-1 = 8 y a-2 = 6.

Cumpliéndose que para todo dígito a,

0 <= a <= 9

y para toda posición i,

-2 <= i <= 3
Ejemplo 6:
Con tres dígitos, en el Sistema Decimal se pueden
representar 103 números enteros positivos distintos,
es decir, mil números: del 00010 al 99910, ambos
inclusive.

Ejemplo 7:
Con tres dígitos, en los Sistemas Binario, Octal y
Hexadecimal se pueden representar 23, 83 y 163
números distintos, respectivamente, es decir, 8, 512
y 4096 números, que van desde el 0002 hasta el 1112,
desde el 0008 hasta el 7778 y desde el 00016 hasta el
FFF16.
TEOREMA FUNDAMENTAL DE LA NUMERACIÓN

El Teorema Fundamental de la Numeración (TFN) establece que en cualquier


sistema de numeración posicional todos los números pueden expresarse
mediante la siguiente suma de productos:

Nb = ap-1∙bp-1 + ap-2∙bp-2 + ... + a1∙b1 + a0∙b0 + a-1∙b-1 +


+a-2∙b-2 + ... + a-q+1∙b-q+1 + a-q∙b-q

es decir,
Ejemplo 8: Aplicando el TFN, el número real 4305,86, en base 10, se puede expresar como:
4305,8610 = 4∙103 + 3∙102 + 0∙101 + 5∙100 + 8∙10-1 + 6∙10-2

4305,8610 = 4∙1000 + 3∙100 + 0∙10 + 5∙1 + 8∙0,1 + 6∙0,01

4305,8610 = 4000 + 300 + 0 + 5 + 0,8 + 0,06

En la secuencia de dígitos ap-1 ap-2 ... a1 a0 , a-1 a-2 ... a-q+1 a-q cada cifra tiene un peso
diferente a las demás. El peso de un dígito viene determinado por su posición respecto a
la coma (,) decimal. Cuanto más a la izquierda se encuentra un dígito, más peso tiene, es
decir, más significativo es. Por tanto, el dígito más significativo o de mayor peso es ap-1 y
el menos significativo o de menor peso es a-q. Esto es así porque el peso de ap-1 es bp-1 y el
peso de a-q es b-q.

Ejemplo 9: En la secuencia de dígitos 4305,86, en base 10, el signo más significativo es


el 4, que representa al 4000, ya que su peso es 103, y el menos significativo es el 6, que
representa al 0,06, ya que su peso es 10-2.

En resumen, el TFN dice que en cualquier sistema de numeración posicional de base b,


un número N representa a la suma acumulada de los productos de sus dígitos ap-1, ap-2, ...,
a1, a0, a-1, a-2, ..., a-q+1 y a-q por sus respectivos pesos bp-1, bp-2, ..., b1, b0, b-1, b-2, ..., b-q+1 y
b-q.
3. CONVERSIONES DE BASES

3.1 CONVERSIÓN DE BASE (B) A BASE 10


Este tipo de conversión sirve para pasar un número N de cualquier base
(b) a base 10. Para ello, se tiene que hacer uso del Teorema Fundamental de
la Numeración (TFN).

Ejemplo: Si se quiere convertir los números 10,1012, 703,48 y 6C,116 a base


10, aplicando el TFN, se obtiene que:

10,1012 = 1∙21 + 0∙20 + 1∙2-1 + 0∙2-2 + 1∙2-3 = 2 + 0 + 0,5 + 0 + 0,125 = 2,62510

703,48 = 7∙82 + 0∙81 + 3∙80 + 4∙8-1 = 448 + 0 + 3 + 0,5 = 451,510

6C,116 = 6∙161 + C∙160 + 1∙16-1 = 96 + 12 + 0,0625 = 108,062510


3.2 CONVERSIÓN DE BASE 10 A BASE (B)

Este tipo de conversión se utiliza para cambiar un número N de base 10 a


cualquier otra base (b). Para ello, se deben realizar dos pasos por separado:

Convertir la parte entera del número N10, dividiéndola,


sucesivamente, entre b, hasta obtener un cociente más pequeño que b. La
parte entera del número que estamos buscando lo compondrá el último
cociente y los restos que se hayan ido obteniendo, tomados en orden
inverso.

Convertir la parte fraccionaria del número N10, multiplicándola,


repetidamente, por b, hasta obtener un cero en la parte fraccionaria o hasta
que se considere oportuno, ya que, puede ser que el cambio de base de
una fracción exacta se convierta en una fracción periódica. La parte
fraccionaria del número buscado lo formarán las partes enteras de los
números que se hayan ido obteniendo en cada producto, cogidas en ese
mismo orden.
EJEMPLO:
Para convertir el número 13,312510 a base 2, en primer lugar
hay que dividir, sucesivamente, la parte entera del número, en
este caso (1310), entre 2, hasta obtener un cociente más
pequeño que 2.

Como el último cociente (a3), que vale (1), ya es más pequeño


que el divisor (2), hay que parar de dividir. Por tanto,
1310 = 11012
El segundo paso consiste en convertir la parte fraccionaria del número (0,312510).
Para ello, se deben realizar los siguientes cálculos:

La parte fraccionaria desaparece después de realizar cuatro multiplicaciones.


Así pues,
0,312510 = 0,01012

En resumen,
13,312510 = 1101,01012

Para comprobar si los cálculos están bien hechos, podemos realizar la conversión inversa, es decir,
podemos pasar el número 1101,01012 a base 10. De manera que, usando el TFN los cálculos son:

1101,01012 = 1∙23 + 1∙22 + 0∙21 + 1∙20 + 0∙2-1 + 1∙2-2 + 0∙2-3 + 1∙2-4 =


= 8 + 4 + 0 + 1 + 0 + 0,25 + 0 + 0,0625 = 13,312510
3.3 CONVERSIÓN DE BASE (B) A BASE (C), AMBAS DISTINTAS DE 10

 Convertir un número N de base (b) a otra base (c), ambas


distintas de 10, se puede hacer en los dos pasos siguientes:
Ejemplo 1: Usando el método descrito, para convertir el
número 16,518 a base 2, en primer lugar lo pasaremos a
base 10 con el Teorema Fundamental de la Numeración
(TFN):
Convertir el número Nb de base (b) a base 10.
y las operaciones de la parte fraccionaria son: 16,518 = 1∙81 + 6∙80 + 5∙8-1 + 1∙8-2 = 8 + 6 + 0,625 +
0,015625 = 14,64062510
Convertir el número N10 de base 10 a base (c).
y, a continuación, cambiaremos el número obtenido,
14,64062510, a base 2. Los cálculos de la parte entera son:

Por tanto,
16,518 = 14,64062510 = 1110,1010012

Sin embargo, puesto que las bases de los Sistemas Binario y Octal, (2) y (8),
ambas son potencias de 2, es decir, 2 = 21 y 8 = 23, las conversiones de octal
a binario y viceversa se pueden realizar de forma directa. Para ello, hay que
conocer la correspondencia de dígitos que existe entre ambas bases.
 De la tabla se deduce que, por ejemplo, el número 68 equivale al 1102, el
número 112 equivale al 38 ó el número 548 equivale al 1011002, ya que:

En consecuencia, para convertir el número


16,518 a binario, podemos hacer
corresponder cada uno de sus dígitos con
sus tres equivalentes en binario, de forma
que:

Los ceros a la izquierda de la parte entera o a la derecha de la


parte fraccionaria se desprecian. Así pues, obtenemos el
resultado que ya sabíamos,
16,518 = 1110,1010012
EJEMPLO 2:
Para convertir al Sistema Hexadecimal (base 16) el número
1000000001111,112, igualmente, se puede usar la tabla de
correspondencias entre los dígitos de los Sistemas
Hexadecimal y Binario, haciendo corresponder grupos de
cuatro bits con los dígitos equivalentes en hexadecimal.

De tal manera que:

Por tanto,
1000000001111,112 = 100F,C16

Si primero pasásemos el número a base 10, haríamos:

1000000001111,112 = 212 + 23 + 22 + 21 + 20 + 2-1 + 2-2 =


= 4096 + 8 + 4 + 2 + 1 + 0,5 + 0,25 =
= 4111,7510 y las siguientes multiplicaciones para la parte fraccionaria:

convirtiendo, después, el número 4111,7510 a base 16. Así y como no podía ser de otra forma,
pues, tendríamos que realizar las siguientes divisiones para la
parte entera: 1000000001111,112 = 4111,7510 = 100F,C16
4. ARITMÉTICA BINARIA
Todas las operaciones matemáticas
(sumas, restas, multiplicaciones, etc.) Ejemplo 1: Para sumar los números binarios 100102 y 1102 se
que realiza la computadora están
puede escribir:
basadas en la aritmética binaria.

Suma binaria

La aritmética binaria es muy similar


a la aritmética decimal. Por ejemplo,
para realizar una suma binaria hay
que tener en cuenta la siguiente tabla:
Para comprobar si la suma es correcta, podemos convertir los
números binarios a base 10. Así pues, aplicando el TFN
obtendremos:

1º Sumando → 100102 = 1∙24 + 0∙23 + 0∙22 + 1∙21 + 0∙20 = 16


+ 0 + 0 + 2 + 0 = 1810

2º Sumando → 1102 = 1∙22 + 1∙21 + 0∙20 = 4 + 2 + 0 = 610

Resultado → 110002 = 1∙24 + 1∙23 + 0∙22 + 0∙21 + 0∙20 = 16 + 8


+ 0 + 0 + 0 = 2410

y, efectivamente, 1810 + 610 = 2410


RESTA BINARIA

Si se quiere realizar una Ejemplo 2:


resta binaria se debe Para restar los números
considerar la siguiente binarios 1010012 y 10112
tabla: escribiremos:
MULTIPLICACIÓN BINARIA

Para efectuar una Ejemplo 3:


multiplicación binaria se Para realizar el producto de
tiene que tener en cuenta los números binarios 101012
la siguiente tabla: y 1012 hay que realizar los
siguientes cálculos:
DIVISIÓN BINARIA

En cuanto a las divisiones binarias, las reglas


también son las mismas que en el Sistema
Decimal, con la ventaja de que en binario sólo
se usan dos dígitos.

Ejemplo 4: Para dividir 1100102 entre 102 los


cálculos son:
5. REPRESENTACIÓN DE NÚMEROS ENTEROS

5.1 BINARIO PURO


Los números escritos en Binario Puro (BP) sólo pueden ser positivos, ya que, en
este tipo de representación los números negativos no están contemplados. Por
tanto, su rango de representación va desde el número 010 hasta el número (2n -
1)10, siendo n el número de bits dedicados a representar a los números enteros.
De modo que, en este sistema de numeración, el rango de valores que puede
tomar un cierto número x, viene dado por la expresión:
Ejemplo 1:
En Binario Puro, para n = 8, el rango
de representación es:

De forma que, se pueden representar


28 = 256 números enteros, que van
desde el 010 hasta el 25510.
Ejemplo 2:
En Binario Puro, para n = 8, el número 2310 se representa de la
siguiente manera:

Ejemplo 3:
En Binario Puro, para n = 8, los números -6810 y 37910 no se pueden escribir, porque están
fuera de su rango de representación (010 <= x <= 25510).

Por otra parte, dado un número (N) en Binario Puro, para calcular su valor en base 10, se debe
utilizar la fórmula:
Ejemplo 4:
Si se quiere calcular el valor en base 10 del Ejemplo 5:
número 10110001BP, aplicando la fórmula dada, Para n = 8, al
se obtiene que:
calcular la suma
10110001BP = ( 1∙27 + 1∙25 + 1∙24 + 1∙20 )10 = ( 128 de los números
+ 32 + 16 + 1 )10 = 17710 11001000BP y
11001011BP, se
Todos los sistemas de representación de
producirá
números, ya sean estos enteros o reales, tienen el desbordamiento:
inconveniente principal de que al llevar a cabo
11001000 y 11001011 equivalen a 200 y 203 ,
operaciones matemáticas con dichos números, serespectivamente. Por tanto, la suma de ambos números sería
BP BP 10 10

puede producir desbordamiento. El 403 , que está fuera del rango de representación para n = 8
10
(0 <= x <= 255 ). Obsérvese que, para representar al
10 10

desbordamiento sucede cuando el resultado de número 403 en Binario Puro se necesitan 9 bits, uno más
10
de los disponibles.
una operación está fuera del rango de
Por otro lado, para saber de antemano el número n de cifras
representación. necesarias para representar en Binario Puro a un
determinado número N del Sistema Decimal, se puede
calcular el logaritmo en base 2 del número decimal, de forma
que:
Ejemplo 6:
Si se quiere saber cuantas cifras se necesitan para
representar al número 2710 en Binario Puro, se debe
calcular el logaritmo en base 2 de 2710.

Por tanto, se necesitan 5 bits. De hecho, se puede


comprobar que,
2710 = 11011BP
7.2. ASCII

El Código Estándar Americano para el


Intercambio de Información (American
Standard Code for Information Interchange,
ASCII) es, hoy en día, el código más utilizado en
los equipos informáticos. ASCII emplea grupos
de 7 bits para codificar caracteres en binario,
permitiendo representar a 27 = 128 caracteres. Su
tabla de correspondencias es la siguiente:
Los dígitos que rodean la tabla sirven para identificar al número decimal que
corresponde a cada carácter. De modo que, para un determinado carácter, el número
decimal que le corresponde se obtiene de agrupar los dígitos de su fila y de su
columna.

Por ejemplo, al carácter H del ASCII le corresponde la agrupación de los dígitos (7)
de su fila y (2) de su columna, es decir, el carácter H se codifica con el código 72 10 =
10010002.
Los primeros 32 caracteres del ASCII son de
control. En la siguiente tabla se muestran sus
significados:
El carácter 32 (SP) representa al Espacio en Blanco y el carácter 127
(DEL) a Borrar. El resto de caracteres corresponden a las letras
del alfabeto inglés (a, b, c, d, e,...), los dígitos del sistema decimal
(0, 1, 2, 3,...) y caracteres especiales (@, #, %,...).

También existe un ASCII extendido de 8 bits con el que se puede


representar a 28 = 256 caracteres. En dicho código, los 128
primeros caracteres coinciden con el ASCII de 7 bits y, el resto,
corresponden a algunos caracteres alfabéticos no ingleses (ñ, Ñ, á,
é,...), algunas letras griegas, símbolos matemáticos y caracteres
gráficos.

Véase la siguiente figura:


Este es el código ASCII extendido más utilizado por las computadoras digitales.

Sin embargo, los caracteres (128-255) pueden variar de unos ordenadores a otros,
dependiendo de su configuración.

Así, en función de los idiomas que se hablan en distintas zonas geográficas del mundo, la
Organización Internacional de Estándares (International Standards Organization, ISO)
ha definido distintos estándares ASCII, tales como: ISO 8859-1 (usado para el castellano),
ISO 8859-2 Latín (utilizado en Europa central), ISO 8859-5 Cirílico (para lenguajes
eslavos), ISO 8859-6 Árabe (para lenguajes arábigos), etc.

En un procesador de texto, los caracteres del ASCII más frecuentemente utilizados, tales
como: letras (a, b, c,...), dígitos (0, 1, 2,...) y signos de puntuación (?, ;, :,...) son fáciles de
imprimir por pantalla, pulsando directamente su tecla correspondiente. Sin embargo, para
mostrar otros caracteres, es necesario utilizar una combinación de teclas, por ejemplo, el
símbolo almohadilla (#) se imprime pulsando las teclas (Alt Gr + 3). No obstante, cualquier
carácter del ASCII se puede mostrar por pantalla tecleando su código decimal, al mismo
tiempo que se presiona la tecla Alt.

Por ejemplo, en un procesador de texto, el carácter H del ASCII se puede imprimir por
pantalla pulsando las teclas (7) y (2) del Bloque Numérico del teclado, al mismo tiempo que
se mantiene presionada la tecla (Alt).

Por otra parte, la combinación de la tecla (Alt) con los 32 primeros números decimales (0-

También podría gustarte