Download Sistemas de Numeración - Beatriz Beltrán Martínez
Document related concepts
Transcript
Benemérita Universidad Autónoma de Puebla Facultad de Ciencias de la Computación E N SAMBL ADOR M C BEAT R IZ BE LT RÁ N M A RT ÍNEZ Sistemas de Numeración M C BEAT R IZ BE LT RÁ N M A RT ÍNEZ OTOÑ O 2 0 1 6 Introducción Un sistema de numeración es un conjunto de símbolos y reglas de generación que permiten construir todos los números válidos en el sistema. Un sistema de numeración puede representarse como: N =(S,R) donde: ◦ N es el sistema de numeración considerado. ◦ S es el conjunto de símbolos permitidos en el sistema. ◦ R son las reglas que nos indican qué números son válidos en el sistema, y cuáles no. MC Beatriz Beltrán Martínez ENSAMBLADOR OTOÑO 2016 3 Introducción Estas reglas son diferentes para cada sistema de numeración considerado, pero una regla común a todos es que para construir números válidos en un sistema de numeración determinado sólo se pueden utilizar los símbolos permitidos en ese sistema. Para indicar en qué sistema de numeración se representa una cantidad se añade como subíndice a la derecha el número de símbolos que se pueden representar en dicho sistema. MC Beatriz Beltrán Martínez ENSAMBLADOR OTOÑO 2016 4 Representación Sea R (base o radio) un número mayor o igual que 2, entonces pueden representarse números entero no negativos como una cadena de dígitos escogidos entre 0, 1, 2, ..., R-1. 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 dígitos={0,1,2} MC Beatriz Beltrán Martínez ENSAMBLADOR OTOÑO 2016 5 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 1 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). MC Beatriz Beltrán Martínez ENSAMBLADOR OTOÑO 2016 6 Conversión entre Bases 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 MC Beatriz Beltrán Martínez ENSAMBLADOR OTOÑO 2016 7 Conversión entre Bases 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. 4*53+3*52+0*51+2*50 = 11*123+10*122+2*120 = En Base 3 11*11122+10*221+2*1 = 200112+2210+2 = 210101 MC Beatriz Beltrán Martínez ENSAMBLADOR OTOÑO 2016 8 Conversión entre Bases + 0 1 2 * 0 1 2 0 0 1 2 0 0 0 0 1 1 2 10 1 0 1 2 2 2 10 11 2 0 2 11 12*12 101 12 221 MC Beatriz Beltrán Martínez 221*12 1212 221 11122 ENSAMBLADOR OTOÑO 2016 9 Conversión entre Bases Para pasar un número entero N de base 10 a base R se deben realizar las siguientes operaciones: ◦ Dividir el número N en base 10 entre la base a convertir. ◦ Se toma el cociente Ci y se vuelve a dividir entre la base. ◦ Este proceso se continua hasta que el cociente Cn sea menor que R. ◦ El número en base 10, se toma primero el último cociente obtenido (Cn) y de ahí del último residuo al primero. MC Beatriz Beltrán Martínez ENSAMBLADOR OTOÑO 2016 10 Conversión entre Bases C1 C2 R N R C1 bm Cn … bm-1 R Cn-1 b1 Donde Cn<R El número en base R es: Cn b1 … bm-1 bm MC Beatriz Beltrán Martínez ENSAMBLADOR OTOÑO 2016 11 Conversión entre Bases Convertir (541)10 ( )3. 180 3 541 24 60 3 180 20 6 2 3 60 3 20 3 6 00 2 0 00 01 Por lo que (541)10 (202001)3. MC Beatriz Beltrán Martínez ENSAMBLADOR OTOÑO 2016 12 Conversión entre Bases Para convertir la parte fraccionaria 0.d de base 10 a base R, se procede: ◦ Se toma la fracción 0.d y se multiplica por la base. ◦ Del resultado obtenido di.bi se vuelve a tomar la fracción 0.bi y se procede de igual manera. ◦ Este proceso se puede continuar en n – iteraciones o bien cuando la parte entera di sea cero. ◦ La parte entera di de los resultados, va a conformar la fracción en base R. MC Beatriz Beltrán Martínez ENSAMBLADOR OTOÑO 2016 13 Conversión entre Bases 0.d * R = d1.b1 0.b1 * R = d2.b2 … 0.bt * R = dt+1.bt+1 Donde dt+1 puede ser cero. La fracción en base R es: 0.d1 d2 d3 … dt dt+1 MC Beatriz Beltrán Martínez ENSAMBLADOR OTOÑO 2016 14 Conversión entre Bases Convertir (0.75)10 ( )2. 0.75 * 2 =1.5 La parte decimal ya es cero 0.5 * 2 = 1.0 Por lo que (0.75)10 (0.11)2. Convertir (0.256)10 ( )7. 0.256 * 7 = 1.792 0.792 * 7 = 5.544 0.544 * 7 = 3.808 Por lo que (0.256)10 (0.153)7 MC Beatriz Beltrán Martínez ENSAMBLADOR OTOÑO 2016 15 Conversión entre Bases Conversión de números de base R a base 10 (donde R10). Algoritmo 1. (akak-1 …a2a1)R ◦ (Regla de Horner para la evaluación de polinomios) 1. i k, num 0 2. Mientras i>=1 hacer num num*R+ai i i-1 fin_mientras 3. Fin MC Beatriz Beltrán Martínez ENSAMBLADOR OTOÑO 2016 16 Conversión entre Bases Conversión de números de base 10 a base S (donde S 10). Algoritmo 2. 1. i 1, q 0, 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 MC Beatriz Beltrán Martínez ENSAMBLADOR OTOÑO 2016 17 Conversión entre Bases Conversión de números de base X a base 10 (donde X 10). Algoritmo 3. (0.b1b2 … bm)X ◦ Números fraccionarios 1. i m, num 0 2 .Mientras i>=1hacer num (num+bi)/X i i-1 fin_mientras 3. Fin MC Beatriz Beltrán Martínez ENSAMBLADOR OTOÑO 2016 18 Conversión entre Bases Conversión de números de base 10 a base S (donde S 10). Algoritmo 4. ◦ Números fraccionarios 1. i 1 2. Mientras i <= m hacer x x*s y [x] (parte entera) x x-y, bi y, i i+1 fin_mientras 3. Fin MC Beatriz Beltrán Martínez ENSAMBLADOR OTOÑO 2016 19 Conversión entre Bases Conversión de potencias de 2 ◦ Para convertir números de base 2 a base k=2x donde x>1 y es un número entero, se llevan a cabo los siguientes pasos: ◦ 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. ◦ 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. ◦ Se sustituyen los grupos por los dígitos correspondientes en la base k. MC Beatriz Beltrán Martínez ENSAMBLADOR OTOÑO 2016 20 Conversión entre Bases (1110010100.011011)2 ( )16 Donde 16=24 0011 1001 0100 . 0110 1100 3 9 4 . 6 C ◦ Por lo que (1110010100.011011)2 (394.6C)16 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. (7402.61)8 ( )2 Donde 8=23 7 4 0 2 . 6 1 111 100 000 010 . 110 001 ◦ Por lo que (7402.61)8 (111100000010.110001)2 MC Beatriz Beltrán Martínez ENSAMBLADOR OTOÑO 2016 21