Convirtiendo números del sistema decimal al sistema binario.



Documentos relacionados
Ejemplos de conversión de reales a enteros

SISTEMAS DE NUMERACIÓN (11001, 011) = = (32,12)

Informática 1 Sistemas numéricos: decimal, binario, octal y hexadecimal FCFA Febrero 2012

Representación de los números en la computadora

Sistemas de Numeración

UNIDAD Nº 1: 1. SISTEMAS DE NUMERACION. Formalizado este concepto, se dirá que un número X viene representado por una cadena de dígitos:

Representación de los números en la computadora.

❷ Aritmética Binaria Entera

Los sistemas de numeración se clasifican en: posicionales y no posicionales.

Módulo 9 Sistema matemático y operaciones binarias

Programa para el Mejoramiento de la Enseñanza de la Matemática en ANEP Proyecto: Análisis, Reflexión y Producción. Fracciones

TEMA 4. Sistema Sexagesimal. Sistema Octal (base 8): sistema de numeración que utiliza los dígitos 0, 1, 2, 3, 4, 5,

Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso El sistema de numeración binario

EJERCICIOS DEL TEMA 1

QUÉ ES UN NÚMERO DECIMAL?

El objetivo de esta práctica es ser capaz de transformar un número de un sistema de numeración en otro.

SISTEMAS DE NUMERACIÓN. Sistema decimal

Solución: exp Febrero, primera semana. Paso 1º: Cálculo del campo exponente. Según el apartado a) del primer corolario: 53.

SISTEMAS DE NUMERACIÓN.

Aritmética finita y análisis de error

Organización del Computador. Prof. Angela Di Serio

Álgebra y Matemática Discreta Sesión de Prácticas 1

UNIDAD 3: ARITMÉTICA DEL COMPUTADOR

Sistemas de numeración y aritmética binaria

3 ESTRUCTURAS DE CONTROL REPETITIVAS. BUCLES

Notas de Teórico. Sistemas de Numeración

Por ejemplo convertir el número 131 en binario se realiza lo siguiente: Ahora para convertir de un binario a decimal se hace lo siguiente:

SISTEMAS Y CÓDIGOS DE NUMERACIÓN

Modulo 1 El lenguaje Java

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios. Álgebra y Matemática Discreta Sesión de Prácticas 1

2.1.- EJEMPLO DE UN PROGRAMA FORTRAN

Cualquier número de cualquier base se puede representar mediante la siguiente ecuación polinómica:

Clase 02: Representación de datos

Operaciones Aritméticas en Números con Signo

SISTEMAS NUMÉRICOS (SISTEMAS DE NUMERACIÓN)

Universidad Tecnológica Nacional Facultad Regional Tucumán Ingeniería Electrónica Asignatura: Informática I 1R2 Trabajo Práctico N 1 - Año 2014

PRÁCTICA N 2 SISTEMAS DE NUMERACIÓN

Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso Aritmética binaria


Academia técnica de computación A.T.C.

Informática Bioingeniería

EJERCICIOS RESUELTOS SOBRE ERRORES DE REDONDEO

Función exponencial y Logaritmos

Sistemas Numéricos. M. en C. Erika Vilches

La Tabla 1 muestra los valores de los dígitos de un número binario.

Sistemas de numeración

TECNOLOGÍA 4º ESO Realizando la lectura como indica la flecha obtenemos: 20 10) = ) Lectura

Ecuaciones de primer grado con dos incógnitas

DESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO

2. Aritmética modular Ejercicios resueltos

Matemáticas Básicas para Computación

Unidad 1 Sistemas de numeración Binario, Decimal, Hexadecimal

NÚMEROS NATURALES Y NÚMEROS ENTEROS

SITEMA BINARIO, OCTAL Y HEXADECIMAL: OPERACIONES

Sistemas de Numeración Operaciones - Códigos

Materia: Informática. Nota de Clases Sistemas de Numeración

Llamamos potencia a todo producto de factores iguales. Por ejemplo: 3 4 =

Capítulo 1: Sistemas de representación numérica Introducción. Dpto. de ATC, Universidad de Sevilla - Página 1 de 8

ESTRUCTURA DE DATOS: ARREGLOS

Lección 4: Suma y resta de números racionales

Fundamentos de Investigación de Operaciones Investigación de Operaciones 1

Sistema Binario. Sonia Alexandra Pinzón Nuñez. Ingeniera de Sistemas

TEMA 2 REPRESENTACIÓN BINARIA

SISTEMAS DE NUMERACIÓN. Sistema de numeración decimal: = =8245,97

ANEXO 2: REPRESENTACION DE LA INFORMACION EN LOS COMPUTADORES

ARQUITECTURA DE LAS COMPUTADORAS PRACTICA

Anterior Sistemas binarios: Aritmética binaria Siguiente ARITMÉTICA BINARIA. Operaciones elementales con números binarios

Electrónica Digital I (ED21) Sesión: 3 Aritmética Binaria. Ing. José C. Benítez P.

promedio = nint((notas(1) + notas(2) + notas(3) + & notas(4) + notas(5) + notas(6)) / 6.0) print *, 'Su promedio es', promedio

UD 1. Representación de la información

Sistema binario. Representación

Lección 1. Representación de números

Representación en Punto Flotante

Tema 2: Sistemas de representación numérica

EDWIN KÄMMERER ORCASITA INGENIERO ELECTRÓNICO

Ejercicio 1 (2 puntos. Tiempo: 25 minutos)

Biblioteca Virtual Ejercicios Resueltos

0.1 SISTEMA BINARIO DE NUMERACIÓN

Metodología, Técnica Y Tecnología Para Solucionar Un Problema

1.1 Sistema de numeración binario

SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION

Tema 4: Sistemas de Numeración. Codificación Binaria. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

Problemas + PÁGINA 37

Sistemas de numeración, operaciones y códigos

Nota 2. Luis Sierra. Marzo del 2010

21/02/2012. Agenda. Unidad Central de Procesamiento (CPU)

ICM Fundamentos de Computación

Curso 0 de Informática

Naturaleza binaria. Conversión decimal a binario

Ámbito Científico-Tecnológico Módulo III Bloque 2 Unidad 1 Quien parte y reparte, se lleva la mejor parte

SISTEMAS DE NUMERACIÓN

Índice Introducción Números Polinomios Funciones y su Representación. Curso 0: Matemáticas y sus Aplicaciones Tema 1. Números, Polinomios y Funciones

1. Informática e información. 2. Sistemas de numeración. 3. Sistema binario, operaciones aritméticas en binario, 4. Sistemas octal y hexadecimal. 5.

FRACCIONES. Una fracción tiene dos términos, numerador y denominador, separados por una raya horizontal.

Sistemas de numeración

MÉTODO DEL CAMBIO DE BASE PARA CÁLCULO MANUAL DE SUBREDES CON IP V4.0

CONVERSIÓN DE UN NÚMERO EN BINARIO A DECIMAL Y VICEVERSA

SISTEMAS NUMERICOS. Ing. Rudy Alberto Bravo

FRACCIONES. Es un decimal exacto: los únicos factores primos que aparecen en el denominador son el dos y el cinco.

Cursada Primer Semestre 2015 Guía de Trabajos Prácticos Nro. 2

Transcripción:

Convirtiendo números del sistema decimal al sistema binario. Pablo Santamaría v0.1b (Septiembre 2009) Veamos como puede convertirse la representación decimal de un número al sistema binario. El procedimiento trata a las partes entera y fraccionaria por separado, así que supongamos, en primer lugar, que el número p dado es un entero positivo. Entonces, en la base β = 2, el número puede ser escrito en la forma p = a n 2 n + a n 1 2 n 1 + + a 1 2 1 + a 0 = a j 2 j, donde a j son los dígitos que queremos determinar. La igualdad anterior puede ser escrita en la forma p = a 0 + 2 a j 2 j 1, de donde se sigue que el dígito a 0 se identifica con el resto de la división entera de p por la base 2: a 0 = mod(p, 2). Considerando ahora el cociente entero de tal división c 1 = a j 2 j 1 = a 1 + 2 a j 2 j 2, resulta que el dígito a 1 es el resto de la división entera de c 1 por 2: a 1 = mod(c 1, 2). Procediendo sucesivamente, si c i denota el cociente de la división entera por 2 del paso anterior (poniendo c 0 = p), tenemos que c i = a i + 2 a j 2 j i, i = 0, 1,..., n, con lo cual j=i+1 a i = mod(c i, 2). El proceso se detiene en n, puesto que el dividendo en el paso (n + 1) es cero. En efecto, siendo c n = a n = a n + 0 2, es c n+1 = 0. El procedimiento puede ser resumido esquemáticamente como sigue. j=2 j=0 1

Para convertir un número entero positivo de base 10 a base β = 2. Paso 1. Realice la división entera por 2 del cociente obtenido en el paso anterior, comenzando con el número dado. Paso 2. Guarde el resto de tal división. Paso 3. Continúe con el paso 1 hasta que el dividendo sea cero. Paso 4. Lea los restos obtenidos, desde el último al primero, para formar la representación buscada. Ejemplo: Convertir 29 a binario. 29 29/2 = 14 resto 1 14/2 = 7 resto 0 7/2 = 3 resto 1 3/2 = 1 resto 1 1/2 = 0 resto 1 Entonces (29) 10 = (11101) 2. Consideremos ahora la parte fraccional del número en su representación decimal. Podemos entonces asumir que el número p dado es un número real positivo entre 0 y 1. Entonces, en la base β = 2, puede ser escrito en la forma p = a 1 2 1 + a 2 2 2 + = a j 2 j, donde a j son los dígitos que queremos determinar. Multiplicando la igualdad anterior por 2 tenemos que q 1 = 2 p = a 1 + a j 2 j+1, de donde se sigue que el dígito a 1 se identifica con la parte entera de la multiplicación de p por 2: a 1 = [q 1 ]. Consideremos ahora la parte fraccionaria de tal producto, si ésta no es nula podemos volver a multiplicar por 2 para obtener de donde, j=2 q 2 = 2 (q 1 [q 1 ]) = a 2 + a 2 = [q 2 ]. a j 2 j+2, Procediendo sucesivamente, si q i denota el producto de 2 por la parte fraccionaria del paso anterior (poniendo q 1 = 2 p), tenemos que j=3 q i = a i + a j 2 j+i, j=i+1 i = 1, 2, dots, de donde, a i = [q i ]. 2

Notemos que el procedimiento continúa indefinidamente, a menos que para algún q k su parte fraccionaria sea nula. En tal caso q k+1 = 2 (q k [q k ]) = 0 y, en consecuencia, a (k+1) = a (k+2) = = 0, obteniéndose así una cantidad finita de dígitos fraccionarios en la base 2. Resumimos el procedimiento como sigue. Para convertir un número decimal entre 0 y 1 a la base β = 2. Paso 1. Realice la multiplicación por 2 de la parte fraccionaria obtenida en el paso anterior, comenzando con el número dado. Paso 2. Guarde la parte entera de tal producto. Paso 3. Continúe con el paso 1 hasta que la parte fraccionaria sea cero, o hasta obtener el suficiente número de dígitos requeridos para su representación. Paso 4. Lea las partes enteras obtenidas, del principio hacia el final, para formar la representación buscada. Ejemplo: Convertir 0.625 a binario. 0.625 2*0.625 = 1.25 [1.25] = 1 2*0.25 = 0.5 [0.5] = 0 2*0.5 = 1 [1] = 1 Nos detenemos puesto que 1 [1] = 0. Así, (0.625) 10 = (0.101) 2. Ejemplo: Convertir 0.1 a binario. 0.1 2*0.1 = 0.2 [0.2] = 0 2*0.2 = 0.4 [0.4] = 0 2*0.4 = 0.8 [0.8] = 0 2*0.8 = 1.6 [1.6] = 1 2*0.6 = 1.2 [1.2] = 1 2*0.2 = 0.4 [0.4] = 0 2*0.4 = 0.8 [0.8] = 0 2*0.8 = 1.6 [1.6] = 1 2*0.6 = 1.2 [1.2] = 1 2*0.2 = 0.4 [0.4] = 0... En este caso la representación es infinita, (0.1) 2 = (0.0001100110...) 2. El siguiente código en Fortran77 implementa el procedimiento descrito para obtener la representación binaria de cada número que se ingrese por teclado. program dec2bin ------ * Convierte números del sistema decimal al sistema binario ------ * Declaración de variables ------ implicit none integer max_digits! número maximo de digitos binarios parameter (max_digits = 32)! de la parte entera y "decimal" integer bp(max_digits)! digitos binarios de la parte entera integer bf(max_digits)! digitos binarios de la parte decimal 3

character(*) ifield! variables para construir un parameter (ifield= (i2) )! formato dinámico de impresión character(2) sp,sf character(14) formato integer in,out! unidades de entrada/salida estandar parameter (in=5,out=6) integer p,d integer np,nf integer i real num,f integer io logical go ------ * Proceder sobre la lista de numeros ingresados por la * entrada estandar ------ io = 0 do while(io.eq.0) -- * Leer el numero desde la entrada estandar --- read(unit=in,fmt=*,iostat=io) num if (io.eq.0) then * Separar la parte entera de la parte decimal p = int(num) f = num-p * Convertir la parte entera go =.true. np = 0 do while(go) np = np + 1 d = mod(p,2) bp(np) = d p = int(p/2) if(p.eq.0.or.np.ge.max_digits) go =.false. end do * Convertir la parte decimal go =.true. f = 2.0*f nf = 0 do while(go) nf = nf + 1 d = int(f) bf(nf) = d f = 2.0*(f-d) if(f.eq.0.0.or.nf.ge.max_digits) go =.false. end do * Construir el formato dinamicamente: (npi1,a1,nfi1) 4

write(sp,fmt=ifield) np write(sf,fmt=ifield) nf formato = ( // sp // i1,a1, // sf // i1) * Imprimir el numero binario en la salida estandar write(unit=out,fmt=formato) (bp(i),i=np,1,-1),., * (bf(i),i=1,nf) endif enddo stop end 5