Está en la página 1de 12

Representaciones DE ENTEROS Y ALGORITMOS ENTEROS

Un bit es un dgito binario, es decir, un 0 o un 1. En una computadora digital, los datos y las instrucciones se codifican como bits. (El trmino digital se refiere al uso de los dgitos 0 y 1). La tecnologa determina cmo se representan fsicamente los bits dentro del sistema de computadora. El hardware actual se apoya en el estado de un circuito electrnico para representar un bit. El circuito debe ser capaz de estar en dos estados: uno que representa a 1, y el otro a 0. En el sistema numrico decimal, para representar los enteros se usan los diez smbolos 0, 1, 2, 3, 4, 5, 6, 7, 8 y 9. Al representar un entero, la posicin del smbolo es significativa; leyendo desde la derecha, el primer smbolo representa al nmero de unidades, el siguiente smbolo el nmero de decenas, el siguiente el nmero de centenas, y as sucesivamente. Por ejemplo,

Lugar del 100

Lugar del 10

Lugar del 1000 (

Lugar del 1

3 8 5

Smbolo 3

Smbolo 0

Smbolo 2

Smbolo 1

Figura 5.2.1 Sistema numrico decimal.

1 0 1 1 0 1

Figura 5.2.2 Sistema numrico binario

(Vea la figura 5.2.1). En general, el smbolo en la posicin n (donde el smbolo en la extrema derecha est en la posicin 0) representa el nmero de que hay. El valor en el que est basado el sistema (10 en este caso) recibe el nombre de base del sistema numrico. En el sistema numrico binario (base 2), para representar enteros se necesitan slo dos smbolos, 0 y 1. Para representar un entero, leyendo de derecha a izquierda, el primer smbolo representa el nmero de unos, el siguiente smbolo el nmero de nmeros dos, el siguiente el nmero de cuatros, El siguiente el nmero de ochos, etctera. Por ejemplo, en base dos,

Vea la figura (5.2.2). En general, el smbolo en la posicin n (con la posicin 0 en la extrema derecha) Representa el nmero de . Si se desconoce que el sistema numrico se est usando, una representacin resulta ambigua; por Ejemplo 101101 representa un nmero en decimal y otro muy diferente en binario. Con frecuencia, el contexto aclara qu sistema numrico se est usando; pero cuando se requiere que no exista duda, se da un subndice al nmero para especificar la base: el subndice 10 denota el sistema decimal y el subndice 2 el binario. Por ejemplo, el nmero binario 101101 se escribe Ejemplo de binario a decimal: El nmero binario representa el nmero que tiene un 1, ningn 2, un cuatro, un ocho, ningn 16 y un 32 (vea la figura 5.2.2). Esta representacin se expresa como

Calculando el lado derecho en decimal, se encuentra que

Lugar del

Figura 5.2.3 Sistema numrico hexadecimal. Otras bases importantes para los sistemas numricos en las ciencias de la computacin son la base 8 u octal y la base 16 hexadecimal (en ocasiones acortada a hex). Se analizar el sistema hexadecimal Y se dejar el octal a los ejercicios (vea los ejercicios 43 al 47). En el sistema numrico hexadecimal, para representar enteros se usan los smbolos 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E y F. Los smbolos comprendidos entre A y F se interpretan como los decimales 10 al 15. (En general, en el sistema numrico base N, se requieren N smbolos diferentes que son 0, 1, 2,, N-1). Al Representar un entero si se lee de derecha a izquierda, el primer smbolo representa el nmero de unos, El siguiente smbolo el nmero de 16, el siguiente el nmero de , y as sucesivamente. Por ejemplo, en Base 16,

(Vea la figura 5.2.3). En general, el smbolo en la posicin n (donde la posicin 0 es la extrema derecha) representa el nmero de nmeros 16. Ejemplo de hexadecimal a decimal Convierta el nmero hexadecimal B4F en decimal. Se obtiene

Convertir un nmero decimal a la base b. Suponga, por ejemplo, que se desea convertir el nmero decimal 91 en binario. Si se divide 91 entre 2, se obtiene 45 2 91 8 11 10 1

Este clculo muestra que Se comienza por expresar 91 en potencias de 2. Si despus se divide 45 entre 2, se encuentra que

Sustituyendo esta expresin para 45 en (5.2.2) se obtiene

Si ahora se divide 22 entre 2, se encuentra Al sustituir esta expresin para 22 en (5.2.4), se obtiene

Si luego se divide 11 entre 2, se encuentra Sustituyendo esta expresin para 11 en (5.2.5) se obtiene Si ahora se divide 5 entre 2, se encuentra Al sustituir esta expresin para 5 en (5.2.6) se obtiene

El clculo anterior muestra que los residuos, al dividir N entre 2 repetidas veces, dan los bits en la representacin binaria de N. La primera divisin entre 2 en (5.2.2) da el bit de 1; la segunda divisin Entre 2 en (5.2.3) da el bit de 2; etctera. Decimal a binario Escriba el nmero decimal 130 en binario. El clculo muestra las divisiones sucesivas entre 2 con los residuos registrados a la derecha. 2 130 residuo = 0 bit de 1 2 65 residuo = 1 bit de 2 2 32 residuo = 0 bit de 4 2 16 residuo = 0 bit de 8 2 8 residuo = 0 bit de 16 2 4 residuo = 0 bit de 32 2 2 residuo = 0 bit de 64 2 1 residuo = 1 bit de 128 0 El proceso se detiene cuando el cociente 0. Recordando que el primer residuo da el nmero de unos, El segundo el nmero de nmeros 2, etctera, se obtiene

Decimal a hexadecimal

Convierta el nmero decimal 20385 en hexadecimal. El clculo muestra las divisiones sucesivas entre 16 con los residuos registrados a la derecha. 16 20385 residuo = 1 lugar de 1 16 1274 residuo = 10 lugar de 16 16 79 residuo = 15 lugar de 16 4 residuo = 4 lugar de 0 Nos detenemos cuando el cociente es 0. El primer residuo da el nmero de unos, el segundo el nmero De nmeros 16, y as sucesivamente; entonces se obtiene

Despus, la atencin se centra en la suma de nmero en bases arbitrarias. El mismo mtodo que se usa Para sumar nmeros decimales se emplea para sumar nmeros binarios; sin embargo, debe sustituirse La tabla de suma decimal con la tabla de suma binaria. + 0 1 0 0 1 1 1 10 (En decimal, 1+1=2, y Suma binaria Sume los nmeros binarios 10011011 y 1011011. El problema se escribe como 10011011 + 1011011 Igual que en la suma decimal, se comienza por la derecha, sumando 1 y 1. Esta suma es ; entonces Escribimos 0 y llevamos 1. En este punto el clculo es 1 10011011 + 1011011 0 Despus sumamos 1 y 1 y 1, que es . Escribimos 1 y llevamos 1. En este punto el clculo es 1 10011011 + 1011011 10 Al continuar de esta manera, se obtiene 10011011 + 1011011 11110110 ; entonces, en binario, 1+1=10).

Ejemplo 5. Suma hexadecimal Sume los nmeros hexadecimales 84F y 42EA El problema se escribe como 84F + 42EA

Se comienza por la columna de la derecha sumando A y F. Como F es Se escribe 9 y llevamos 1: 1 84F + 42EA 9 Despus se suman 1, 4 y E, para obtener 1 84F + 42EA 39 Si continuamos de esta manera, se obtiene 84F + 42EA 4B39 Ejemplo 5.2 El problema de la suma del ejemplo 5.2.13, en decimal, es 2127 + 17130 19257 Se pueden multiplicar nmeros binarios modificando el algoritmo estndar para la multiplicacin De nmeros decimales (vea los ejercicios 64 y 65). Se concluye con el anlisis de un algoritmo especial, que se necesitar en la seccin 5.4, para calcular Potencias mod z. Primero se estudia un algoritmo para calcular una potencia (sin incluir mod z). La manera directa de calcular esta potencia es multiplicar repetidas veces por a Se escribe 3 y llevamos 1:

Que usa n 1 multiplicaciones. Se logran mejores resultados si se eleva al cuadrado repetidas veces.

Como ejemplo concreto, considere calcular Primero se calcula que requiere una multiplicacin. Despus se calcula que usa una multiplicacin ms. Luego se calcula que usa una multiplicacin adicional y despus se calcula que requiere una multiplicacin ms. Hasta aqu se han empleado slo 4 multiplicaciones. Observe que la expansin de 29 en potencias de 2, que es la expansin binaria, es 29 = 1 + 4 + 8 + 16, Vemos que se puede calcular como

Que usa 3 multiplicaciones adicionales con un total de 7 multiplicaciones. La tcnica directa utiliza 28 multiplicaciones. En el ejemplo 5.2.6, se vio que los residuos, cuando n se divide repetidas veces entre 2, dan la expansin binaria de n. Si el residuo es 1, se incluye la potencia de 2 correspondiente; de otra manera, no se incluye. Se puede formalizar la tcnica de elevar al cuadrado repetidas veces si se determina al mismo tiempo la expansin binaria del exponente.

La figura 5.2.4 muestra como se calcula elevando al cuadrado una y otra vez. Inicialmente, x se hace igual a a, y n al valor del exponente, en este caso 29. Despus se calcula n mod 2. Como este valor es 1, se sabe que est incluido en la expansin binaria de 29. Por lo tanto, ecuacin Se incluye en el producto. Se da seguimiento al producto parcial en el resultado; as, el resultado se hace igual a a. Luego se calcula el cociente cuando 29 se divide entre 2. El cociente 14 se vuelve el nuevo valor de n. Despus se repite este proceso.

Valor de n

n mod 2

Resultado

Cociente cuando n actual se divide entre 2

29 14 7 3 1

1 0 1 1 1

Sin cambio

14 7 3 1 0

Figura 5.2.4 Clculo de elevando al cuadrado repetidas veces. Se eleva x al cuadrado para obtener . Despus se calcula n mod2. Como este valor es 0, se sabe que No se incluye en la expansin binaria de 29. Entonces no est incluida en el producto, y el resultado no cambia. Despus se calcula el cociente cuando 14 se divide entre 2. El cociente 7 se convierte en el nuevo valor de n . Luego se repite el proceso. Se eleva x al cuadrado para obtener . Despus se calcula n mod 2. Como este valor es 1, se sabe que . Est incluido en la expansin binaria de 29. Entonces se incuye en el producto. El resultado se convierte en . Despus se calcula el cociente al dividir 7 entre 2. El cociente 3 es ahora el nuevo valor de n . El proceso contina hasta que n es 0.

Teorema 5.2.17
Si a, b y z son enteros positivos,

[ Demostracin Sea

Como w es el Residuo cuando ab se divide entre z, por el teorema del cociente residuo, existe tal que

Entonces

De manera similar, existen

tales que

Ahora

Donde

por lo tanto,

Es decir, w es el residuo cuando xy se divide entre z. As, w = xy mod z, lo que se Traduce en [ ]

Ejemplo 5.2.18
Se muestra cmo calcular mod 713 usando el algoritmo 5.2.16 y el teorema 5.2.17. El nmero tiene 80 dgitos, de manera que el teorema 5.2.17 sin duda simplifica los clculos. Para calcular , se calcul sucesivamente a, (Vea el ejemplo 5.2.15). Para calcular

mod z, se calcula de manera sucesiva

Cada multiplicacin se realiza usando el teorema 5.2.17. Se calcula [ Se calcula usando la formula [ Se calcula con la frmula Se calcula usando la frmula Y as sucesivamente. Lo siguiente muestra los clculos de ]

con la frmula

, etctera.

Sugerencias para resolver problemas


Para convertir el nmero base b

A decimal, se realizan las multiplicaciones y sumas en decimal indicadas. Para convertir el nmero decimal n a la base b, se divide entre b, el cociente obtenido se divide entre b, el cociente obtenido se divide entre b, etctera, hasta que el residuo sea 0. Los residuos dan la

representacin en base b de n. El primer residuo da el coeficiente de 1, el siguiente residuo da el coeficiente de b, y as sucesivamente. Al multiplicar mdulo z, calcule los residuos en cuanto pueda para minimizar los tamaos de los nmeros implicados.

También podría gustarte