Sei sulla pagina 1di 39

0 .

1 SISTEMA BINARIO DE NUMERACIN


Merc Rulln
Universidad Autnoma de Barcelona

0 .1
1. Representacin
p
de la informacin en las computadoras
p
Un ordenador o computador es una mquina que recibe y
procesa datos para convertirlos en informacin til.
Los datos con los que trabaja pueden ser nmeros, caracteres,
audio, video, etc. Todo se reduce a procesar nmeros que estn
codificados en forma de cadenas de ceros y unos.

La tecnologa en la que se basan las computadoras (y en definitiva sus componentes fsicos) es la


responsable de que toda la informacin con la que trabaja un computador se codifique en un
sistema
i
d numeracin
de
i denominado
d
i d sistema
i
bi i en ell que slo
binario
l utilizamos
ili
d smbolos
dos
b l o
estados: 0, 1
2

0 .1
2. Sistemas de numeracin
Existen muchos sistemas de numeracin pero recordaremos los siguientes:

sistema decimal
sistema binario
sistema hexadecimal
y trabajaremos las formas de conversin de un sistema de numeracin a otro.

0 .1
2.1 Sistema decimal

Es un sistema de numeracin formado por 10 smbolos o dgitos diferentes:


0,, 1,, 2,, 3,, 4,, 5,, 6,, 7,, 8,, 9

Es un sistema de numeracin posicional (el orden de los dgitos es importante


porque se asocia un peso a cada posicin)
Ejemplo:

653
(pesos)

102

101

100

653 = 6102 + 5101 + 3100


6 centenas, 5 decenas, 3 unidades
4

0 .1
2.2 Sistema binario

Es un sistema de numeracin formado por dos smbolos o dgitos diferentes: 0, 1

Tambin es un sistema de numeracin posicional


Ejemplo:
(pesos)

23

22

21

20

Para calcular el valor en decimal de un nmero binario slo hay que ir sumando los
pesos en los que exista un 1:
(1101)2 = 123 + 122 + 021 + 120 = 8 + 4 + 0 + 1 = 13
5

0 .1
Ejercicio
j
Calcular el valor decimal del siguiente nmero binario: (101001)2

0 .1
Ejercicio
j
(solucin)
(
)
Calcular el valor decimal del siguiente nmero binario: (101001)2

pesos

25

24

23

22

21

20

(101001)2 = 125 + 024 + 123 + 022 + 021 + 120 = 32 + 8 + 1 = 41

0 .1
2.2 Sistema binario p
puro: rango
g de representacin
p

Binario puro corresponde a nmeros que slo pueden ser positivos.


Si utilizamos n bits, podemos representar un total de 2n valores distintos.
Su rango de representacin va desde el nmero 0 hasta el nmero (2n - 1).

EJEMPLO:
n = 4 bits
16 combinaciones diferentes
desde el 0 al 15 = 24-1

Binario
0000
0001
0010
0011
0100
0101
0110
0111

Decimal
0
1
2
3
4
5
6
7

Binario
1000
1001
1010
1011
1100
1101
1110
1111

Decimal
8
9
10
11
12
13
14
15
8

0 .1
2.2 Sistema binario p
puro: rango
g de representacin
p

Si n = 3 , representamos de 0 a 7; en total 23 = 8 valores diferentes


Si n = 4 , representamos de 0 a 15; en total 24 = 16 valores diferentes
Si n = 5 , representamos de 0 a 31; en total 25 = 32 valores diferentes
Si n = 6 , representamos de 0 a 63; en total 26 = 64 valores diferentes
diferentes...

Ejemplo: Cuntos bits necesitamos para representar en binario el nmero 48?


31 48 63
n=5
n=6
Para representar
p
en binario el nmero 4810 necesitamos 6 bits: 110000
9

0 .1
2.3 Sistema hexadecimal

Es un sistema de numeracin formado por 16 dgitos diferentes:


0,, 1,, 2,, 3,, 4,, 5,, 6,, 7,, 8,, 9,, A,, B,, C,, D,, E,, F
Tambin es un sistema de numeracin posicional

3
(pesos)

163

162

9
161

F
160

Para calcular
P
l l ell valor
l d
decimal
i ld
de un nmero

h
hexadecimal
d i l slo
l h
hay
que ir sumando los pesos multiplicados por el valor respectivo
que tengan en cada posicin:
(3A9F)16 =

3163

10162

9161

15160

= 1500710

BINARIO

HEXA

0 .1
3. Cambios de base ((HEXADECIMAL-BINARIO))
5. Cambios de base (BINARIO-HEXADECIMAL)

En el sistema HEXADECIMAL,
HEXADECIMAL cada dgito se puede representar en binario con 4 bits:
hexadecimal

binario

0011 1010 1001

Para convertir un nmero de binario a HEXADECIMAL debemos agrupar los bits de 4


en 4 empezando
d por lla d
derecha
h y obtener
bt
ell valor
l resultante
lt t en h
hexadecimal:
d i l
binario
hexadecimal

100 1011 1010 0101


4

11

0 .1
Ejercicio
BINARIO

HEXA

Calcula la representacin en hexadecimal:


1101101010011002 = ????16

Calcula la representacin en binario:


5F2B16 = ?????2

12

0 .1
Ejercicio (solucin)
BINARIO

HEXA

Calcula la representacin en hexadecimal:


1101101010011002 = ?6D4C16

Calcula la representacin en binario:


5F2B16 = ?01011111001010112
0101 1111 0010 1011

13

0 .1
5. Cambios de base ((DECIMAL- BINARIO))
5

Dividimos por 2 el nmero en base decimal y los sucesivos cocientes se dividen de


nuevo por 2, hasta obtener un cociente de valor 1.
El nmero en base 2 est formado por el ltimo cociente y los sucesivos restos,
siendo el ltimo cociente el bit ms significativo.
Ejemplo:

18(10 = ? 10010(2

(10

2+

18 = 92 + 0
9 = 42 + 1
4 = 22 + 0
2 = 12 + 0

18(10 = 10010(2 10010(2


14

0 .1
Ejercicio
j
43(10 = nmero en base binaria?

15

0 .1
Ejercicio (solucin)
43(10 = nmero en base binaria?
43 = 212 + 1
21 = 10
102
2+1
10 = 5 2 + 0
5= 22+1

43(10 = 101011

2= 12+0

16

0 .1
6. Suma y resta de nmeros binarios
Combinaciones al restar dos bits:
0-0=0
1-0=1
1-1=0
0 - 1 = 1 1 (se escribe 1 y hay acarreo de 1 que se

Combinaciones al sumar dos bits:


0+0=0
0+1=1
1+0=1
1 + 1 = 1 0 (se escribe 0 y hay acarreo de 1

sumaa aal sust


su
sustraendo
ae do de laa siguiente
s gu e te etapa)

que se suma a la siguiente etapa)

acarreos parciales que se suman


10100101 =A
+ 1000111 =B
11101100 =C
1 1 1

10100101 =A
1

1 1 1 1

acarreos que se suman al sustraendo

- 1000111 =B
01011110 =C
17

0 .1
Ejercicio
j
10011011 =A
+
1010011 =B

10011001 =A
1010011 =B

18

0 .1
Ejercicio
j
(solucin)
(
)
0 0 1 0 0 1 1

10011001 =A

acarreo que se suma

10011011 =A
+
1010011 =B
11101110

0 0 1 1

acarreo que se suma al sustraendo

1010011 =B
01000110

19

0 .1
RESUMEN

Representacin de la informacin en las computadoras

Sistemas de numeracin (decimal, binario, hexadecimal)

Sistema binario puro y rango de representacin

Cambios de base entre diferentes sistemas de numeracin

S
Suma
y resta
t d
de nmeros

bi
binarios
i

20

0 .22 REPRESENTACIN DE
ALGORITMOS EN PSEUDOCDIGO
Merc Rulln
Universidad Autnoma de Barcelona

0 .2
1. Representacin de algoritmos: pseudocdigo
Algoritmo
Procedimiento no ambiguo que resuelve un problema, de forma que indique una
secuencia de operaciones a realizar para conseguir el resultado deseado.
deseado
El algoritmo es independiente del lenguaje de programacin que se utilizar para su
implementacin final.
Existen diferentes formas de representacin de los algoritmos: el lenguaje natural,
natural
pseudocdigo, diagramas de flujo y lenguajes de programacin.

22

0 .2
2. Acciones y estructuras de control (esquema)
ASIGNACIONES
OPERADORES
Comparacin
Lgicos
Aritmticos
ESTRUCTURAS DE CONTROL
Seleccin (decisin)
Simple, Doble
Mltiple (Case)
Iteracin (ciclos)
While
For
PROCEDIMIENTOS

23

0 .2
3. Asignaciones
La accin denominada asignacin <= permite almacenar un valor en una variable.
El valor puede ser una constante o el resultado de la evaluacin de una expresin.
Primero se evala la expresin de la derecha y luego se asigna el resultado a la variable de la izquierda.
<variable> <= <expresin>;
variable <= expresin;

Ejemplo
X <= 3; Y <= 2; Z <= 1;
Y <= 2X+Y+Z;

24

0 .2
4. Operadores
Nos permiten realizar operaciones de diferentes tipos:
COMPARACIN
Operador

Significado

ARITMTICOS
Operador

Significado

LGICOS
Operador

Significado

<

Menor que

Suma

or

Suma lgica

>

y q
que
Mayor

Resta

and

Producto lgico
g

Igual que

Producto

not

Negacin

(1)

Menor o igual que

Divisin

(2)

Mayor o igual
i l que

(3)

Diferente

(1) En algunos ejemplos tambin


utilizamos el smbolo

<= para la comparacin


menor

o igual que
(2) En algunos ejemplos tambin utilizamos el smbolo >= para la comparacin mayor o igual que
(3) En algunos ejemplos tambin utilizamos el smbolo /= para la comparacin diferente

25

0 .2
Ejercicio
j
Si tenemos la siguiente descripcin en pseudocdigo:
1.
1
2.
3.
4.
5.
6.

X <=
< 2;
2
Y <= 3;
Z <= 4;
X <= X*Y;;
Z <= X+Y;
Y <= X+Y+Z;

Q valor
Qu
l ttendr
d lla variable
i bl X d
despus
lla llnea 4?
Qu valor tendr la variable Z despus la lnea 5?
Qu valor tendr la variable Y despus la lnea 6?
26

0 .2
Ejercicio
j
(solucin)
(
)
Si tenemos la siguiente descripcin en pseudocdigo:
1. X <= 2;
2 Y <=
2.
< 3;
3. Z <= 4;
4. X <= X*Y;
5. Z <= X+Y;
6. Y <= X+Y+Z;
Qu valor tendr la variable X despus la lnea 4?
La variable X valdr 6
Qu valor tendr la variable Z despus la lnea 5?
La variable Z valdr 9
Qu valor tendr la variable Y despus la lnea 6?
La variable Y valdr 18

27

0 .2
5. Estructuras de control
La acciones que podemos describir mediante pseudocdigo se organizan en bloques
de acciones que siguen unas estructuras bsicas:

ESTRUCTURAS DE SELECCIN
(decisin)
Simple
Doble
Mltiple (Case)
ESTRUCTURAS DE ITERACIN (ciclos)
( i l )
While
For
28

0 .2
5.1 Estructuras de seleccin (decisin)
Las estructuras de seleccin nos permiten tomar decisiones condicionadas a la
evaluacin de una expresin (normalmente una condicin lgica).

Simple
condicin

If condicin then accin/es;


end if;

no

Ejemplo

si
accin;

If (X es par) and (X 8) then accin/es;


end if;

Doble
If condicin then accin1/es;
else accin2/es;
/ ;
end if;

no
accin2;

condicin

si
accin1;

If ((X es p
par)) and ((X 8)) then accin1/es;
/ ;
else accin2/es;
end if;
29

0 .2
5.1 Estructuras de seleccin (decisin)
Mltiple

si

If condicin1 then accin1;;


elsif condicin2 then accin2;
elsif condicin3 then accin3;
end if;
end if;
end if;
Ej
Ejemplo:
l

condicin1

accin1;

no
condicin2

accin2;

If A=1 then Z <= X + Y;


elsif A=2 then Z <= X - Y;
elsif A >=3
3 then Z <= X * Y;
end if;
end if;
end if;

condicin3

accin3;

30

0 .2
Ejercicio
j
Si queremos realizar en pseudocdigo la operacin y = X/2 , redondeando por defecto:
Anlisis de los diferentes casos:
Cuando X es par, el resultado de la divisin ser exacto (tanto si X es positivo como negativo)
x=8
y = 8/2 = 4
x = -8
8
y = -8/2
8/2 = -4
4
Cuando X es impar, el redondeo deber ser calculado de forma diferente:
- si es negativo ser (X+1)/2
- si es positivo ser (X-1)/2

x = -7 y = (-7+1)/2= -3
x = 7 y = (7-1)/2= 3

ESCRIBID el pseudocdigo de la operacin y = X/2 , redondeando por defecto segn el anlisis de los
31
diferentes casos que hemos planteado.

0 .2
Ejercicio
j
(resuelto)
(
)
Si queremos realizar en pseudocdigo la operacin y = X/2 , redondeando por defecto:
Anlisis de los diferentes casos:
Cuando X es par, el resultado de la divisin ser exacto (tanto si X es positivo como negativo)
x=8
y = 8/2 = 4
x = -8
y = -8/2 = -4
Cuando X es impar, el redondeo deber ser calculado de forma diferente:
- si es negativo ser (X+1)/2
x = -7 y = (-7+1)/2= -3
- si es positivo ser (X-1)/2
x = 7 y = (7-1)/2= 3

If (X es par) then y<= X/2;


elsif (X<0) then y <= (X+1)/2;
else y <=
< (X
(X-1)/2;
1)/2;
end if;
end if;

32

0 .2
5.1 Estructuras de seleccin (decisin)
Case

case X is
when valor1" => accin1;
when valor2" => accin2;
when valor3" => accin3;
when valor4" => accin4;
end case;

accin1;

accin2;

accin3;

accin4;

Ejemplo: X es un dgito decimal y queremos obtener su representacin en binario en la variable y


case x is
when 0" => y <= 0000;
when 1" => y <= 0001;
..
when 9" => y <= 1001;
end case;
33

0 .2
5.2 Estructuras de iteracin (ciclos)
Las estructuras de iteracin nos permiten repetir acciones condicionadas a la
evaluacin de una expresin.

While
While condicin loop
accin/es;
/ ;
end loop;

si

condicin

no

accin;

For
for variable in min to max loop
accion/es;
end
d loop;
l
34

0 .2
Ejercicio
j
Dados dos vectores de 8 posiciones:
a(0), a(1), a(7)
x(0), x(1), x(7)

ESCRIBID el pseudocdigo del clculo:


y = a(0) x(0) + a(1) x(1) + a(2) x(2) + ..
..+ a(7) x(7)

35

0 .2
Ejercicio
j
(resuelto)
(
)
Dados dos vectores de 8 posiciones:
a(0), a(1)
a(0)
a(1), a(7)
a(7)
x(0), x(1), x(7)
ESCRIBID el pseudocdigo del clculo:
y = a(0) x(0) + a(1) x(1) + a(2) x(2) + ..+ a(7) x(7)

acc <= 0;
0
for i in 0 to 7 loop
acc <= acc+ a(i)
( ) x(i);
( );
end loop;
36

0 .2
6. Procedimientos (subrutinas)
Procedure call nombre (parmetros);

ALGORITMO

----------------call procedure

----------------call procedure

PROCEDIMIENTO
---------------------------------

conjunto de acciones a realizar que resuelven una tarea


concreta
a cada procedimiento se le asigna un nombre por el que
puede ser llamado desde otra parte del programa
principal
al llamar a un procedimiento slo debemos dar valor a
l variables
las
i bl que intervienen
i t i
en dicho
di h procedimiento
di i t
(parmetros) y dichos valores se asignarn al realizar la
llamada al mismo
facilita el diseo,
diseo estructura y comprensin de los
algoritmos y nos evita repetir sentencias en el algoritmo
principal
37

0 .2
6. Procedimientos (subrutinas)
Ejemplo:
Procedure raiz_cuadrada(x,
_
( yy, n)) is
------end procedure

Algoritmo
call raiz_cuadrada(x,
( u, 16);
)
u <= a * u;
call raiz_cuadrada(y, r, 16);
r <= b * r;
z <= u + r;

calcular z = a x + b y

ALGORITMO

Inicio
call raiz_cuadrada(x,u,16);
u <= a * u;
call raiz_cuadrada(y,r,16);
r <= b * r;
z <= u + r;
end

PROCEDIMIENTO
raiz_cuadrada
(x,y,n)

----------------end procedure

38

0 .2
RESUMEN

Representacin de algoritmos: pseudocdigo

Acciones y estructuras de control:


Asignaciones y operadores
Estructuras de control
Seleccin (decisin)
Simple, Doble
Mltiple (Case)
Iteracin
It
i (ciclos)
( i l )
While
For

Procedimientos
39

Potrebbero piacerti anche