Você está na página 1de 34

M

aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

Programacion estructurada
Sistemas numericos
Oscar Alvarado Nava
oscar.alvarado.nava@gmail.com
Departamento de Electr
onica
Divisi
on de Ciencias B
asicas e Ingeniera
Universidad Aut
onoma Metropolitana, Unidad Azcapotzalco

13O, septiembre de 2013

Oscar Alvarado Nava

UAM Azcapotzalco

Programaci
on estructurada

1/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

Contenido
1

Maquina de ejecuci
on
Maquina de ejecuci
on
Lenguajes de la maquina

Sistemas numericos
Sistema numericos
Notaciones

Metodos de conversi
on
Sustitucion de una serie
Metodo de divisi
on entre la base
Metodo de multiplicaci
on por la base
k
Cuando la base=2

Oscar Alvarado Nava

UAM Azcapotzalco

Programaci
on estructurada

2/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

M
aquina de ejecuci
on

Mecanismo de ejecucion

101010101110
111000011111
001010100110
001111100010
100101100110
111110100000
100010100111

RAM
sistema
operativo

CPU
001010100110

pc
ir

alu

Oscar Alvarado Nava

UAM Azcapotzalco

101010101110
111000011111
001010100110
001111100010
100101100110
111110100000
100010100111

encabezado

HD

Programaci
on estructurada

3/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

Lenguajes de la m
aquina

Lenguaje de alto nivel: lenguaje C

1
2
3
4
5
6
7
8
9
10

int
{

main()
int x=15;
int y=9;
int z=0;
z = x + y;
return 0;

Oscar Alvarado Nava

UAM Azcapotzalco

Programaci
on estructurada

4/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

Lenguajes de la m
aquina

Lenguaje ensamblador: procesador intel x86


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

main:

Oscar Alvarado Nava

.file suma.c
.text
.globl main
.cfi startproc
push %ebp
mov %esp, %ebp
sub $16, %esp
movl $15, -4( %ebp)
movl $9, -8( %ebp)
movl $0, -12( %ebp)
mov -8( %ebp), %eax
mov -4( %ebp), %edx
add %edx, %eax
mov %eax, -12( %ebp)
mov $0, %eax
leave
.cfi restore
ret

UAM Azcapotzalco

;archivo
;seccion de texto
;simbolo global
;libera pila

;carga op1
;carga op2
;suma de datos
;almacena resultado
;valor de regreso
;fin de modulo

Programaci
on estructurada

5/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

Lenguajes de la m
aquina

Lenguaje ensamblador y lenguaje maquina


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

main:

Oscar Alvarado Nava

.file suma.c
.text
.globl main
.cfi startproc
push %ebp
mov %esp, %ebp
sub $16, %esp
movl $15, -4( %ebp)
movl $9, -8( %ebp)
movl $0, -12( %ebp)
mov -8( %ebp), %eax
mov -4( %ebp), %edx
add %edx, %eax
mov %eax, -12( %ebp)
mov $0, %eax
leave
.cfi restore
ret

UAM Azcapotzalco

01010101000000000000000000000000
10001001111001010000000000000000
10000011111011000001000000000000
11000111010001011111110000001111
11000111010001011111100000001001
11000111010001011111010000000000
10001011010001011111100000000000
10001011010101011111110000000000
00000001110100000000000000000000
10001011010001011111010000000000
10111000000000000000000000000000
11001001000000000000000000000000
11000011000000000000000000000000

Programaci
on estructurada

6/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

Lenguajes de la m
aquina

Lenguaje ensamblador y lenguaje maquina


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

main:

Oscar Alvarado Nava

.file suma.c
.text
.globl main
.cfi startproc
push %ebp
mov %esp, %ebp
sub $16, %esp
movl $15, -4( %ebp)
movl $9, -8( %ebp)
movl $0, -12( %ebp)
mov -8( %ebp), %eax
mov -4( %ebp), %edx
add %edx, %eax
mov %eax, -12( %ebp)
mov $0, %eax
leave
.cfi restore
ret

UAM Azcapotzalco

0101
1000
1000
1100
1100
1100
1000
1000
0000
1000
1011
1100

0101
1001
0011
0111
0111
0111
1011
1011
0001
1011
1000
1001

0000
1110
1110
0100
0100
0100
0100
0101
1101
0100
0000
0000

0000
0101
1100
0101
0101
0101
0101
0101
0000
0101
0000
0000

0000
0000
0001
1111
1111
1111
1111
1111
0000
1111
0000
0000

0000
0000
0000
1100
1000
0100
1000
1100
0000
0100
0000
0000

0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000
0000

0000
0000
0000
1111
1001
0000
0000
0000
0000
0000
0000
0000

1100 0011 0000 0000 0000 0000 0000 0000

Programaci
on estructurada

7/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

Lenguajes de la m
aquina

Lenguaje ensamblador y lenguaje maquina en hexadecimal


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

main:

Oscar Alvarado Nava

.file suma.c
.text
.globl main
.cfi startproc
push %ebp
mov %esp, %ebp
sub $16, %esp
movl $15, -4( %ebp)
movl $9, -8( %ebp)
movl $0, -12( %ebp)
mov -8( %ebp), %eax
mov -4( %ebp), %edx
add %edx, %eax
mov %eax, -12( %ebp)
mov $0, %eax
leave
.cfi restore
ret

UAM Azcapotzalco

5
8
8
c
c
c
8
8
0
8
b
c

5
9
3
7
7
7
b
b
1
b
8
9

0
e
e
4
4
4
4
4
d
4
0
0

0
5
c
5
5
5
5
5
0
5
0
0

0
0
1
f
f
f
f
f
0
f
0
0

0
0
0
c
8
4
8
c
0
4
0
0

0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
f
9
0
0
0
0
0
0
0

Programaci
on estructurada

8/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

Lenguajes de la m
aquina

Lenguaje ensamblador y lenguaje maquina en hexadecimal


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

main:

Oscar Alvarado Nava

.file suma.c
.text
.globl main
.cfi startproc
push %ebp
mov %esp, %ebp
sub $16, %esp
movl $15, -4( %ebp)
movl $9, -8( %ebp)
movl $0, -12( %ebp)
mov -8( %ebp), %eax
mov -4( %ebp), %edx
add %edx, %eax
mov %eax, -12( %ebp)
mov $0, %eax
leave
.cfi restore
ret

UAM Azcapotzalco

55000000
89e50000
83ec1000
c745fc0f
c745f809
c745f400
8b45f800
8b45fc00
01d00000
8b45f400
b8000000
c9000000
c3000000

Programaci
on estructurada

9/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

Lenguajes de la m
aquina

Lenguaje ensamblador y lenguaje maquina


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

main:

Oscar Alvarado Nava

.file suma.c
.text
.globl main
.cfi startproc
push %ebp
mov %esp, %ebp
sub $16, %esp
movl $15, -4( %ebp)
movl $9, -8( %ebp)
movl $0, -12( %ebp)
mov -8( %ebp), %eax
mov -4( %ebp), %edx
add %edx, %eax
mov %eax, -12( %ebp)
mov $0, %eax
leave
.cfi restore
ret

UAM Azcapotzalco

01010101000000000000000000000000
10001001111001010000000000000000
10000011111011000001000000000000
11000111010001011111110000001111
11000111010001011111100000001001
11000111010001011111010000000000
10001011010001011111100000000000
10001011010101011111110000000000
00000001110100000000000000000000
10001011010001011111010000000000
10111000000000000000000000000000
11001001000000000000000000000000
11000011000000000000000000000000

Programaci
on estructurada

10/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

Lenguajes de la m
aquina

Lenguaje ensamblador y lenguaje maquina


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

main:

Oscar Alvarado Nava

.file suma.c
.text
.globl main
.cfi startproc
push %ebp
mov %esp, %ebp
sub $16, %esp
movl $15, -4( %ebp)
movl $9, -8( %ebp)
movl $0, -12( %ebp)
mov -8( %ebp), %eax
mov -4( %ebp), %edx
add %edx, %eax
mov %eax, -12( %ebp)
mov $0, %eax
leave
.cfi restore
ret

UAM Azcapotzalco

01
10
10
11
11
11
10
10
00
10
10
11

010
001
000
000
000
000
001
001
000
001
111
001

101
001
011
111
111
111
011
011
001
011
000
001

000
111
111
010
010
010
010
010
110
010
000
000

000
001
011
001
001
001
001
101
100
001
000
000

000
010
000
011
011
011
011
011
000
011
000
000

000
000
001
111
111
111
111
111
000
111
000
000

000
000
000
110
100
010
100
110
000
010
000
000

000
000
000
000
000
000
000
000
000
000
000
000

000
000
000
001
001
000
000
000
000
000
000
000

000
000
000
111
001
000
000
000
000
000
000
000

11 000 011 000 000 000 000 000 000 000 000

Programaci
on estructurada

11/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

Lenguajes de la m
aquina

Lenguaje ensamblador y lenguaje maquina en octal


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

main:

Oscar Alvarado Nava

.file suma.c
.text
.globl main
.cfi startproc
push %ebp
mov %esp, %ebp
sub $16, %esp
movl $15, -4( %ebp)
movl $9, -8( %ebp)
movl $0, -12( %ebp)
mov -8( %ebp), %eax
mov -4( %ebp), %edx
add %edx, %eax
mov %eax, -12( %ebp)
mov $0, %eax
leave
.cfi restore
ret

UAM Azcapotzalco

1
2
2
3
3
3
2
2
0
2
2
3

2
1
0
0
0
0
1
1
0
1
7
1

5
1
3
7
7
7
3
3
1
3
0
1

0
7
7
2
2
2
2
2
6
2
0
0

0
1
3
1
1
1
1
5
4
1
0
0

0
2
0
3
3
3
3
3
0
3
0
0

0
0
1
7
7
7
7
7
0
7
0
0

0
0
0
6
4
2
4
6
0
2
0
0

0
0
0
0
0
0
0
0
0
0
0
0

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

0
0
0
7
1
0
0
0
0
0
0
0

Programaci
on estructurada

12/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

Lenguajes de la m
aquina

Lenguaje ensamblador y lenguaje maquina en octal


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

main:

Oscar Alvarado Nava

.file suma.c
.text
.globl main
.cfi startproc
push %ebp
mov %esp, %ebp
sub $16, %esp
movl $15, -4( %ebp)
movl $9, -8( %ebp)
movl $0, -12( %ebp)
mov -8( %ebp), %eax
mov -4( %ebp), %edx
add %edx, %eax
mov %eax, -12( %ebp)
mov $0, %eax
leave
.cfi restore
ret

UAM Azcapotzalco

12500000000
21171200000
20373010000
30721376017
30721374011
30721372000
21321374000
21325376000
00164000000
21321372000
27000000000
31100000000
30300000000

Programaci
on estructurada

13/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

Sistema num
ericos

Sistema numerico

Conjunto ordenado de smbolos: dgitos


Relaciones para aritmetica: suma, resta, multiplicacion y
division
La base, r , indica el n
umero de dgitos permitidos

Oscar Alvarado Nava

UAM Azcapotzalco

Programaci
on estructurada

14/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

Sistema num
ericos

Sistemas numericos en computacion


Base
Dgitos

Decimal
r = 10
0,1,2,3,4
5,6,7,8,9
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

Oscar Alvarado Nava

Binario
r =2
0,1
0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
10000

UAM Azcapotzalco

Octal
r =8
0,1,2,3,4
5,6,7
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17
20

Hexadecimal
r = 16
0,1,2,3,4,5,6,7
8,9,A,B,C,D,E,F
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10
Programaci
on estructurada

15/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

Sistema num
ericos

Sistema decimal

Base: r = 10
Dgitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
operaciones: suma (+), resta (), multipilicacion (), division
(/ o )
El punto decimal divide la parte entera y la parte fraccionaria

Oscar Alvarado Nava

UAM Azcapotzalco

Programaci
on estructurada

16/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

Notaciones

Notacion posicional

El n
umero 123. 35, esta compuesto de:
1 centena
2 decenas
3 unidades
3 decimas
5 centesimas

Oscar Alvarado Nava

UAM Azcapotzalco

Programaci
on estructurada

17/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

Notaciones

Notacion posicional
En general:
N = (an1 an2 a1 a0 .a1 a2 am )r
donde:
. separa la parte entera de la parte fraccionaria
r base
n n
umero de dgitos enteros
m n
umero de dgitos fracionarios
ai dgito entero cuando n 1 i 0
ai dgito fraccionario cuando 1 i m
an1 dgito m
as siginificativo
am dgito menos siginificativo

Oscar Alvarado Nava

UAM Azcapotzalco

Programaci
on estructurada

18/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

Notaciones

Notacion polinomial
La cantidad (123. 35)10 se puede escribir de la siguiente forma:
N = 1 100+2 10+3 1+3 0. 1+5 0. 01
N = 1 102 +2 101 +3 100 +3 101 +5 102
En general, se tiene la siguiente ecuaci
on:

N=

n1
X

ai r i

i=m

Oscar Alvarado Nava

UAM Azcapotzalco

Programaci
on estructurada

19/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

Sustituci
on de una serie

Sustitucion de la serie

Al expandir la serie:
N=

n1
X

ai r i

i=m

tenemos:
N = an1 r n1 + + a0 r 0 + a1 r 1 + + am r m

Oscar Alvarado Nava

UAM Azcapotzalco

Programaci
on estructurada

20/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

Sustituci
on de una serie

Ejemplo 1: de binario a decimal

Convertir (11010. 11)2 a base 10


1 24 + 1 23 + 0 22 + 1 21 + 0 20 + 1 21 + 1 22
1 16+ 1 8+ 0 4+ 1 2+ 0 1+ 1 0. 5+ 1 0. 25
16+ 8+ 0+ 2+ 0+ 0. 5+ 0. 25
26. 75

Oscar Alvarado Nava

UAM Azcapotzalco

Programaci
on estructurada

21/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

Sustituci
on de una serie

Ejemplo 2: de octal a decimal

Convertir (456. 5)8 a base 10


4 82 + 5 81 + 6 80 +5 81
4 64+ 5 8+ 6 1+ 5 0. 125
256+ 40+ 6+ 0. 625
302. 625

Oscar Alvarado Nava

UAM Azcapotzalco

Programaci
on estructurada

22/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

Sustituci
on de una serie

Ejemplo 3: de hexadecimal a decimal

Convertir (B65F )16 a base 10


B 163 + 6 162 + 5 161 + F 160
B 4096+ 6 256+ 5 16+ F 1
11 4096+ 6 256+ 5 16+ 15 1
45056+ 1536+ 80+ 15
46687

Oscar Alvarado Nava

UAM Azcapotzalco

Programaci
on estructurada

23/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

M
etodo de divisi
on entre la base

Llamado metodo del residuo

Unicamente
para la parte entera
Cambio de la base A a la base B, si A > B
Nent = bn1 B n1 + + b1 B 1 + b0 B 0
Podemos determinar el dgito menos significativo, b0 , si dividimos
por la base:
Nent
B

bn1 B n1 ++b1 B 1 +b0 B 0


B

= bn1 B n2 + + b1 B 0 + b0

Oscar Alvarado Nava

UAM Azcapotzalco

Programaci
on estructurada

24/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

M
etodo de divisi
on entre la base

Conversion de base 10 a base 2 de la parte entera


Convertir (41)10 a base 2
Fraccion

Cociente entero

Residuo

Dgito

41
2
20
2
10
2
5
2
2
2
1
2

20

b0

10

b1

b2

b3

b4

b5

(41)10 = (101001)2
Del bit m
as significativo al bit menos significativo
Oscar Alvarado Nava

UAM Azcapotzalco

Programaci
on estructurada

25/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

M
etodo de divisi
on entre la base

Conversion de base 10 a base 8 de la parte entera

Ejemplo 4: Convertir (234)10 a base 8


Fraccion

Cociente entero

Residuo

Dgito

234
8
29
8
3
8

29

b0

b1

b2

(234)10 = (352)8

Oscar Alvarado Nava

UAM Azcapotzalco

Programaci
on estructurada

26/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

M
etodo de multiplicaci
on por la base

Llamado metodo de las fracciones

Cambio de base, de la base A a la base B

Unicamente
para la parte fraccionaria de un n
umero
Nfrac = b1 B 1 + b2 B 2 + + bm B m
Podemos determinar el dgito mas significativo de la parte
fraccionaira, b1 , si multiplicamos por la base:
Nfrac B

= B b1 B 1 + b2 B 2 + + bm B m

= b1 + b2 B 1 + + bm B (m1)

Oscar Alvarado Nava

UAM Azcapotzalco

Programaci
on estructurada

27/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

M
etodo de multiplicaci
on por la base

Conversion de base 10 a base 2 de la parte fraccionaria


Ejemplo 5: Convertir (0.6875)10 a base 2
Fraccion

Entero

Fracci
on

Dgito

0.6875 2

0.3750

b1

0.3750 2

0.7500

b2

0.7500 2

0.5000

b3

0.5000 2

0.0000

b4

(0.6875)10 =(0.1011)2
Del bit m
as significativo al bit menos significativo

Oscar Alvarado Nava

UAM Azcapotzalco

Programaci
on estructurada

28/34

M
aquina de ejecuci
on

Sistemas num
ericos

M
etodos de conversi
on

M
etodo de multiplicaci
on por la base

Conversion de base 10 a base 8 de la parte fraccionaria


Ejemplo 6: Convertir (0.1285)10 a base 8
Fracci
on

Entero

Fracci
on

Dgito

0.1285 8

0.0280

b1

0.0280 8

0.2240

b2

0.2240 8

0.7920

b3

0.7920 8

0.3360

b4

0.3360 8

0.6880

b5

0.6880 8

0.5040

b6

0.5040 8

0.0320

b7

0.0320 8

0.2520

b8

(0.1285)10 =(0.10162540...)8
Oscar Alvarado Nava

UAM Azcapotzalco

Programaci
on estructurada

29/34

M
aquina de ejecuci
on
Cuando la base=2

Sistemas num
ericos

M
etodos de conversi
on

Agrupamiento de dgitos binarios

Como 23 = 8 para cada dgito octal le corresponden 3 dgitos


binarios
Como 24 = 16 para cada dgito hexadecimal le corresponden 4
dgitos binarios
El reagrupamiento de la parte entera se realiza de derecha a
izquierda a partir del punto
El reagrupamiento de la parte fraccionaria se realiza de
izquierda a derecha a partir del punto

Oscar Alvarado Nava

UAM Azcapotzalco

Programaci
on estructurada

30/34

M
aquina de ejecuci
on
Cuando la base=2

Sistemas num
ericos

M
etodos de conversi
on

Conversion de base 2 a base 8

Convertir (10110001101011.11111010011)2 a base 8.


Como 23 = 8 se necesitan 3 dgitos binarios por cada dgito
hexadecimal.
Agrupamos:
(10110001101011.11111010011)2
(26153.7646)8

Oscar Alvarado Nava

UAM Azcapotzalco

Programaci
on estructurada

31/34

M
aquina de ejecuci
on
Cuando la base=2

Sistemas num
ericos

M
etodos de conversi
on

Conversion de base 2 a base 16

Convertir (10110001101011.11111010011)2 a base 16.


Como 24 = 16 se necesitan 4 dgitos binarios por cada dgito
hexadecimal.
Agrupamos:
(10110001101011.11111010011)2
(2C6B.FA6)16

Oscar Alvarado Nava

UAM Azcapotzalco

Programaci
on estructurada

32/34

M
aquina de ejecuci
on
Cuando la base=2

Sistemas num
ericos

M
etodos de conversi
on

Conversion de base 8 a base 16

Convertir (26153.7406)8 a base 16.


Inicialmente pasamos de base 8 a base 2:
(26153.7406)8 = ( 010 110 001 101 011 . 111 100 000 110)2
Reagrupamos:
( 010 110 001 101 011 . 111 100 000 110)2
(26153.7406)8 =(2C6B.F06)16

Oscar Alvarado Nava

UAM Azcapotzalco

Programaci
on estructurada

33/34

M
aquina de ejecuci
on
Cuando la base=2

Sistemas num
ericos

M
etodos de conversi
on

Conversion de base 16 a base 8

Convertir (AF.16C)16 a base 8.


Inicialmente pasamos de base 16 a base 2:
(AF.16C)16 = ( 1010 1111 . 0001 0110 1100 )2
Reagrupamos:
( 1010 1111 . 0001 0110 1100 )2
(AF.16C)16 =(257.0554)8

Oscar Alvarado Nava

UAM Azcapotzalco

Programaci
on estructurada

34/34

Você também pode gostar