ENSAMBLADOR MC Hilda Castillo Z. BUAP Sistemas de Numeración Un sistema numérico es un conjunto de...
-
Upload
sancha-otero -
Category
Documents
-
view
228 -
download
0
Transcript of ENSAMBLADOR MC Hilda Castillo Z. BUAP Sistemas de Numeración Un sistema numérico es un conjunto de...
ENSAMBLADOR
MC Hilda Castillo Z.BUAP
Sistemas de Numeración
Un sistema numérico es un conjunto de reglas y símbolos que nos permiten escribir números.
Números: reales negativos y positivos, y enteros negativos y positivos
Representación de números enteros no negativos
Sea R (base o radio) un número mayor o igual que 2, entonces pueden representarse números enteros como una cadena de dígitos escogidos entre 0,1,2,…..,R-1. Donde la cadena es la representación en base R del entero.
La base de un sistema numérico es el número de dígitos que pueden aparecer en cada posición en el sistema numérico.
Ejemplo: R=3 digitos={0,1,2}
Base 10---0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18
Base 3 --- 0,1,2,10,11,12,20,21,22,100,101,102,110,111,112,120,121,122,200
ENSAMBLADOR
MC Hilda Castillo Z.BUAP
Sistemas de Numeración
Conversión entre bases
Sea el número akak-1….a1, un entero en base R.
Para convertir este número de base R a base Q utilizamos la conversión:
akRk-1+ak-1Rk-2+…+a1R0 (Expresión uno)
Donde R es la base en la que se encuentra el número (base actual), k es el número de dígitos que conforman el número y Q es la nueva base (se debe trabajar con aritmética en base Q).
Ejemplos:
1) Convertir (100110)2 ( )10
R=2 k=6 Q=10 a6=1, a5=0, a4=0, a3=1, a2=1, a1=0
1*26-1+0*26-2+0*26-3+1*26-4+1*26-5+0*26-6= 1*25+0*24+0*23+1*22+1*21+0*20= 1*25+1*22+1*21= 32+4+2=38
Finalmente obtenemos que: (100110)2 (38)10
ENSAMBLADOR
MC Hilda Castillo Z.BUAP
Sistemas de Numeración
2) Convertir (4302)5 ( )3
R=5 Q=3 k=4 a4=4, a3=3, a2=0, a1=2
Se debe trabajar con aritmética en base 3, por lo tanto necesitamos las tablas de suma y multiplicación en base 3.
+ 0 1 20 0 1 21 1 2 102 2 10 11
* 0 1 20 0 0 01 0 1 22 0 2 11
4*53+3*52+0*51+2*50= 11*123+10*122+2*120= 11*11122+10*221+2*1= 200112+2210+2= 210101
12*12
101
12
221
221*12
1212
221
11122
11122*11
11122
11122
200112
221*10
000
221
2210
200112
+ 2210
2
210101
Realizando las sumas y multiplicaciones debidas en base 3, obtenemos:(4302)5 (210101)3
ENSAMBLADOR
MC Hilda Castillo Z.BUAP
Sistemas de Numeración
Conversión de números de base X a base 10 (donde X10)
Algoritmo 1. (Regla de Horner para la evaluación de polinomios)
1. ik, num 0
2. Mientras i1 hacer
num num*R+ai
i i-1
fin_mientras
3. Fin
Ejemplo:
Convertir (4302)5 ( )10
Donde R es la base actual, k es el número de dígitos que componen el número y ai es el i-ésimo dígito del número en base X (derecha a izquierda)
I num R a4 a3 a2 a1 k
4 0 5 4 3 0 2 4
3 4
2 23
1 115
0 577
Utilizando el algoritmo 1 obtenemos:(4302)5 (577)10
ENSAMBLADOR
MC Hilda Castillo Z.BUAP
Sistemas de Numeración
Conversión de números de base 10 a base s (donde s10)
Algoritmo 2.
1. i1, q0, p 0
2. Repetir
q [x/s] (parte entera)
p x-q*s (residuo)
ai p, i i+1, x q
hasta q=0
3. Fin
Ejemplo:
Convertir (577)10 ( )3
Donde x inicialmente es el número a convertir, s es la nueva base y ai es el i-ésimo dígito del número en base s tomando el orden akak-1…a1
x q p ai i s
577 0 0 1 3
192 192 1 1 2
64 64 0 0 3
21 21 1 1 4
7 7 0 0 5
2 2 1 1 6
0 0 2 2 7
Obtenemos:(577)10 (210101)3
ENSAMBLADOR
MC Hilda Castillo Z.BUAP
Sistemas de Numeración
Conversión de números de base X a base 10 (donde X10)
Números fraccionarios
Algoritmo 3.
1. im, num0
2. Mientras i1hacer
num (num+bi)/R
i i-1
fin_mientras
3. Fin
Ejemplo:
Convertir (.A06)16 ( )10
Donde m es el número de dígitos que componen el número que queremos convertir, R es la base actual y num es el número en la nueva base.
i num m R b1 b2 b3
3 0 3 16 A 0 6
2 .375
1 .0234375
0 .62646484Obtenemos:(.A06)16 (.62646484)10
ENSAMBLADOR
MC Hilda Castillo Z.BUAP
Sistemas de NumeraciónConversión de números de base 10 a base s (donde s10)
Números fraccionarios
Algoritmo 4.
1. i1
2. Mientras i m hacer
x x*s
y [x] (parte entera)
x x-y, bi y, i i+1
fin_mientras
3. Fin
Ejemplo:
Convertir (.62646484)10 ( )7
Donde m es el número de dígitos que se desean obtener, x es el número a convertir inicialmente, s es la nueva base y bi es el i-ésimo dígito del número en base s tomando el orden b1b2…bm
i x y bi m s
1 .62646484 3 7
4.38525388 4
2 .38525388 4
2.69677716 2
3 .69677716 2
4.87744012 4
4 .87744012 4Obtenemos:(.62646484)10 (.424)7
ENSAMBLADOR
MC Hilda Castillo Z.BUAP
Sistemas de Numeración
Conversión de potencias de 2
Para convertir números de base 2 a base k, donde k puede expresarse como una potencia de 2, es decir, k=2x donde x>1 y es un número entero, se llevan a cabo los siguientes pasos:
1.Se agrupan de x en x los dígitos que se encuentran a la izquierda del punto, comenzando a partir de él y aumentando ceros a la izquierda cuando es necesario.
2.Se agrupan de x en x los dígitos que se encuentran a la derecha del punto comenzando a partir de éste y aumentando ceros a la derecha cuando sea necesario.
3.Se sustituyen los grupos por los dígitos correspondientes en la base k.
Ejemplo:
(1110010100.011011)2 ( )16 Donde 16=24
0011 1001 0100 . 0110 1100 Resultado:
3 9 4 6 C (1110010100.011011)2 (394.6C)16
Se agregaron dos ceros
ENSAMBLADOR
MC Hilda Castillo Z.BUAP
Sistemas de Numeración
Conversión de potencias de 2
Para convertir números de base k=2x a base 2, se sustituye cada dígito en base k por los x dígitos binarios correspondientes.
Ejemplo:
(7402.61)8 ( )2 Donde 8=23
7 4 0 2 . 6 1 Resultado:
111 100 000 010 110 001 (7402.61)8 (111100000010.110001)2
Operaciones aritméticas en diferentes bases
Base 2
Suma+ 0 10 0 11 1 10
101101
+10110
1000011
Carry o acarreo
1 1 1
ENSAMBLADOR
MC Hilda Castillo Z.BUAP
Sistemas de Numeración
Resta- 0 10 0 11 1 0
Borrow (deber uno)
101101
- 10110
010111
1 1 1
Multiplicación
* 0 10 0 01 0 1
101101*1101
101101
000000
101101
101101_______ 1001001001
1 1 11 1
1
1
División
/ 0 10 e 01 e 1
___1000001 1101 1101010110 -1101 0000010110 - 1101 01001
ENSAMBLADOR
MC Hilda Castillo Z.BUAP
Sistemas de Numeración
+ 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 1 2 3 4 5 6 7 8 9 A B C D E F
1 1 2 3 4 5 6 7 8 9 A B C D E F 10
2 2 3 4 5 6 7 8 9 A B C D E F 10 11
3 3 4 5 6 7 8 9 A B C D E F 10 11 12
4 4 5 6 7 8 9 A B C D E F 10 11 12 13
5 5 6 7 8 9 A B C D E F 10 11 12 13 14
6 6 7 8 9 A B C D E F 10 11 12 13 14 15
7 7 8 9 A B C D E F 10 11 12 13 14 15 16
8 8 9 A B C D E F 10 11 12 13 14 15 16 17
9 9 A B C D E F 10 11 12 13 14 15 16 17 18
A A B C D E F 10 11 12 13 14 15 16 17 18 19
B B C D E F 10 11 12 13 14 15 16 17 18 19 1A
C C D E F 10 11 12 13 14 15 16 17 18 19 1A 1B
D D E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C
E E F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D
F F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E
Tab
la d
e S
uma
en b
ase
16 (
hexa
deci
mal
)
ENSAMBLADOR
MC Hilda Castillo Z.BUAP
Sistemas de Numeración
* 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 1 2 3 4 5 6 7 8 9 A B C D E F
2 0 2 4 6 8 A C E 10 12 14 16 18 1A 1C 1E
3 0 3 6 9 C F 12 15 18 1B 1E 21 24 27 2A 2D
4 0 4 8 C 10 14 18 1C 20 24 28 2C 30 34 38 3C
5 0 5 A F 14 19 1E 23 28 2D 32 37 3C 41 46 4B
6 0 6 C 12 18 1E 24 2A 30 36 3C 42 48 4E 54 5A
7 0 7 E 15 1C 23 2A 31 38 3F 46 4D 54 5B 62 69
8 0 8 10 18 20 28 30 38 40 48 50 58 60 68 70 78
9 0 9 12 1B 24 2D 36 3F 48 51 5A 63 6C 75 7E 87
A 0 A 14 1E 28 32 3C 46 50 5A 64 6E 78 82 8C 96
B 0 B 16 21 2C 37 42 4D 58 63 6E 79 84 8F 9A A5
C 0 C 18 24 30 3C 48 54 60 6C 78 84 90 9C A8 B4
D 0 D 1A 27 34 41 4E 5B 68 75 82 8F 9C A9 B6 C3
E 0 E 1C 2A 38 46 54 62 70 7E 8C 9A A8 B6 C4 D2
F 0 F 1E 2D 3C 4B 5A 69 78 87 96 A5 B4 C3 D2 E1
Tab
la d
e M
ult
ipli
car
en b
ase
16 (
hexa
deci
mal
)
ENSAMBLADOR
MC Hilda Castillo Z.BUAP
Sistemas de Numeración
Aritmética con signo
Sea R la base y n el número de casillas o posiciones, entonces Rn es el total de números sin signo que se pueden representar en base R.
Por ejemplo. Con R=2 n=3 el total de números que pueden ser representados en base 2 utilizando 3 casillas son 8 y el rango es {0,7}, los números son {000, 001, 010, 011, 100, 101, 110, 111}.
{ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 }
Forma general: rango = { 0, Rn-1}
Para números con signo, es necesario utilizar una casilla (la primera) para indicar si el número es negativo o positivo. Para el ejemplo anterior, el total de números con signo que podrían representarse serían 8, 4 positivos y 4 negativos, ya que la primera casilla indica el signo del número, si contiene un 0 es positivo y si contiene un 1 es negativo. Entonces el rango es {-3,3} y los números son {011,010,001,000,100,101,110,111}. { +3 , +2 , +1 ,+0 , -0 , -1 , -2 , -3 } (Signo y magnitud)
En general el rango para cualquier base utilizando números con signo es {-(Rn-1-1),(Rn-1-1)}
ENSAMBLADOR
MC Hilda Castillo Z.BUAP
Sistemas de NumeraciónComplemento
El complemento es una forma de representar números negativos.
Si la base es 2, existen dos clases de complementos: complemento a 1 y complemento a 2.
Complemento a 1. Se obtiene cambiando 1’s por 0’s y 0’s por 1’s. Ejemplo: Sea el número 00111100, su complemento a 1 es: 11000011.
Complemento a 2. Se aplica complemento a 1 al número y luego se suma 1 al resultado. Ejemplo: Sea el número 0110110 aplicando complemento a 1 obtenemos: 1001001, después se le suma 1, obteniéndose 1001010
Algoritmo de suma utilizando la representación de números negativos mediante signo y magnitud.
1.Sean anan-1…a0 y bnbn-1…b0 2 números binarios con signo y magnitud.
2.Tienen signos iguales ? (an=bn)
Si: sumar magnitudes quedando el resultado en cn-1cn-2…c0 , cn bn an
No: Comparamos magnitudes y dejamos en cn el signo del mayor. Restamos a la magnitud mayor la menor y el resultado queda en cn-1cn-2…c0
ENSAMBLADOR
MC Hilda Castillo Z.BUAP
Sistemas de Numeración
3. La magnitud de cn-1cn-2…c0 excede el rango ?
Si: Indicar error (overflow – sobreflujo)
No: El resultado esta en cncn-1…c0
Ejemplo: Obtener el resultado de las siguientes sumas binarias a 4 dígitos
1) 5+(-3)=0101+1011 Los signos son diferentes, y la magnitud del primer número es > que la del segundo, así que restamos 011 de 101 y el signo del resultado será positivo
=0010 Su equivalente decimal es 2
2) (-4)+(-6)=1100+1110 Los signos son iguales, así que se suman magnitudes
Error ! Existe overflow
Algoritmo de suma algebraica en complemento a 1
1. Tomar el complemento a 1 de los números negativos
2. Sumar los operandos
3. Existe carry? Si: sumar 1 al resultado
4. Existe overflow? Si: indicar error
No: Escribir el resultado
+100 11101010
Overflow
Nota: El Overflow se genera cuando ya no hay lugar para un dígito más. En base binaria corresponde a un cambio de signo
ENSAMBLADOR
MC Hilda Castillo Z.BUAP
Sistemas de Numeración
Ejemplo: Utilizar 4 dígitos
(-4) + (-3)= (0100)c1+(0011)c1= 1011+1100= 1 0111 Existe carry
=0111+1=1000 No existe overflow
Algoritmo de suma algebraica en complemento a 2
1. Tomar el complemento a 2 de los números negativos
2. Sumar los operandos
3. Existe overflow? Si: mensaje de error
No: Se toman las primeras n posiciones de derecha a izquierda como resultado ignorando el carry si es que lo hay.
Ejemplo: (4 dígitos)
7+(-5)= 0111+(0101)c2= 0111+1011= 1 0010 Existe carry, así que el resultado es 0010
ENSAMBLADOR
MC Hilda Castillo Z.BUAP
Conceptos básicos
Operaciones Lógicas
Son aquellas que dan como resultado verdadero o falso.
Donde V es equivalente a 1 y F es equivalente a 0. Para trabajar con este tipo de operaciones se utilizan tablas de verdad.
Las operaciones lógicas básicas son:
1. Negación (not). Consiste en obtener el complemento a 1 del operando
2. Conjunción (and). La expresión es verdadera solo si todos sus operandos son verdaderos.
3. Disyunción (or). La expresión es verdadera si al menos uno de sus operandos es verdadero.
p ~p
v f
f v
p q p and q
v v v
v f f
f v f
f f f
p q p or q
v v v
v f v
f v v
f f f
ConjunciónNegación
Disyunción
ENSAMBLADOR
MC Hilda Castillo Z.BUAP
ENSAMBLADOR
MC Hilda Castillo Z.BUAP