Práctica 1-Conversor decimal-octal PDF

Title Práctica 1-Conversor decimal-octal
Course Electricidad y Electronica
Institution Instituto Tecnológico de Tijuana
Pages 9
File Size 409.2 KB
File Type PDF
Total Downloads 100
Total Views 142

Summary

Practica conversor decimal octal...


Description

ELECTRÓNICA DIGITAL

PRÁCTICA 1. CONVERSIÓN DECIMAL/OCTAL Y OCTAL/DECIMAL.

ÍNDICE Contenido

1. INTRODUCCIÓN

2

2. MARCO TEÓRICO 2.1 SISTEMAS DE NUMERACIÓN 2.1.1 SISTEMA DE NUMERACIÓN POSICIONALES. 2.1.2 SISTEMA DECIMAL 2.1.3 SISTEMA BINARIO 2.1.4 SISTEMA OCTAL 2.1.5 CONVERSIÓN DECIMAL A OCTAL 2.1.6 CONVERSIÓN OCTAL A DECIMAL

2 2 3 3 3 3 4 4

3. PROCEDIMIENTO

5

3.1 PROGRAMA DE CONVERSIÓN DE SISTEMA DECIMAL A OCTAL. 3.2 PROGRAMA DE CONVERSIÓN DE SISTEMA OCTAL A DECIMAL. 4. RESULTADOS 4.1 CONVERSIÓN DECIMAL A OCTAL 4.2 CONVERSIÓN OCTAL A DECIMAL.

5 6 7 7 8

5. CONCLUSIONES

8

6. BIBLIOGRAFÍAS

8

1

1. INTRODUCCIÓN El propósito de esta práctica consiste en mostrar y explicar el funcionamiento de un programa realizado en lenguaje c++ que permite hacer la conversión de números decimales (base 10) números octales (base 8) y otro programa que hace la conversión de números octales a números decimales. La construcción de los siguientes códigos se hizo mediante el uso y la implementación de algunas funciones y operaciones propias, procurando evitar el uso de herramientas que hacen los cálculos de manera directa. El fin de esto es comprender la metodología para obtener este tipo de conversiones y una vez logrado esto, aplicarlo y crear un código que garantice un resultado correcto y rápido. El lenguaje c++ nos permite utilizar estructuras recursivas tales como ciclos while y condicionales if, los cuales resultan muy útiles en este tipo de conversiones ya que una operación se repite tantas veces como sea necesario dependiendo nuestros valores

2. MARCO TEÓRICO 2.1 SISTEMAS DE NUMERACIÓ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. Cualquier sistema consta fundamentalmente de una serie de elementos que lo conforman, una serie de reglas que permite establecer operaciones y relaciones entre tales elementos. Por ello, puede decirse que un sistema de numeración es el conjunto de elementos (símbolos o números), operaciones y relaciones que por intermedio de reglas propias permite establecer el papel de tales relaciones y operaciones. Un sistema de numeración puede representarse como:

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.

2

2.1.1 SISTEMA DE NUMERACIÓN POSICIONALES. En los sistemas de numeración ponderados o posicionales el valor de un dígito depende tanto del símbolo utilizado, como de la posición que ése símbolo ocupa en el número. El número de símbolos permitidos en un sistema de numeración posicional se conoce como base del sistema de numeración. Si un sistema de numeración posicional tiene base b significa que disponemos de b símbolos diferentes para escribir los números, y que b unidades forman una unidad de orden superior. Entre esos sistemas posicionales se encuentran: De base 2 Sistema Binario, de base 8 sistema Octal y el de base 16 sistema hexadecimal.

2.1.2 SISTEMA DECIMAL El sistema decimal, es un sistema de numeración posicional en el que las cantidades se representan utilizando como base el número diez, por lo que se compone de diez cifras diferentes: cero (0); uno (1); dos (2); tres (3); cuatro (4); cinco (5); seis (6); siete (7); ocho (8) y nueve (9). Es el sistema de numeración usado habitualmente en todo el mundo y en todas las áreas que requieren de un sistema de numeración. Sin embargo hay ciertas técnicas, como por ejemplo en la informática, donde se utilizan sistemas de numeración adaptados al método de trabajo como el binario o el hexadecimal. El sistema decimal es un sistema de numeración posicional, por lo que el valor del dígito depende de su posición dentro del número. Así: 347 = (3 × 100) + (4 × 10) + (7 × 1) = (3 × 102) + (4 × 101) + (7 × 100)

2.1.3 SISTEMA BINARIO El sistema binario, es un sistema de numeración en el que los números se representan utilizando solamente las cifras cero y uno (0 y 1). Es el que se utiliza en las computadoras, pues trabajan internamente con dos niveles de voltaje, por lo que su sistema de numeración natural es el sistema binario (encendido 1, apagado 0). 2.1.4 SISTEMA OCTAL El sistema Octal o sistema numérico en base 8 utiliza los dígitos 0 a 7. Por ejemplo, el número binario para 74 (en decimal) es 1001010 (en binario), lo agruparíamos como 1 / 001 / 010, de tal forma que obtengamos una serie de números en binario de 3 dígitos cada uno (para fragmentar el número se comienza desde el primero por la derecha y se parte de 3 en 3), después obtenemos el número en decimal de cada uno de los números en binario obtenidos: 1=1, 001=1 y 010=2. De modo que el número decimal 74 en octal es 112.

3

Contar en octal es parecido a contar en decimal, excepto que los dígitos 8 y 9 no se usan. Para distinguir los números octales de los números decimales y hexadecimales, utilizaremos el subíndice 8 para indicar un número octal. Por ejemplo, 158 es equivalente a 1310 en decimal y a D en hexadecimal. En ocasiones, puede ver una “o” o una “Q” detrás de un número octal.

2.1.5 CONVERSIÓN DECIMAL A OCTAL Un método para convertir un número decimal en un número octal es el método de la división sucesiva por 8, que es parecido al método utilizado en la conversión a binario o a hexadecimal de los números decimales. Para mostrar cómo se hace, convertimos a octal el número decimal 359. Cada división sucesiva por 8 da un resto que será un dígito del número octal equivalente. El primer resto que se genera es el dígito menos significativo (LSD).

2.1.6 CONVERSIÓN OCTAL A DECIMAL Puesto que el sistema de numeración octal es un sistema en base ocho, cada posición sucesiva de dígito es una potencia superior de ocho, empezando por el dígito situado más a la derecha con 80. La evaluación de un número octal en términos de su equivalente decimal se consigue multiplicando cada dígito por su peso y sumando los productos, como se muestra a continuación para 23748 . 83 82 81 80 Peso: Número octal: 2 3 7 4 3 2 1 0 23748 = (2 × 8 ) + (3 × 8 ) + (7 × 8 ) + (4 × 8 ) = (2 × 512) + (3 × 64) + (7 × 8) + (4 × 1) = 1024 + 192 + 56 + 4 = 127610

4

3. PROCEDIMIENTO 3.1 PROGRAMA DE CONVERSIÓN DE SISTEMA DECIMAL A OCTAL. Como ya se mencionó anteriormente, para convertir un número de base 10 a base 8 aplicamos el método de la división, el cual consiste en dividir nuestro número decimal entre 8 y obtener el resto, este procedimiento se repite hasta que el cociente de nuestra división es menor 8, entonces el método termina y obtenemos el resultado. Esto se expresa en el programa con la siguiente estructura de código. Primero agregamos las bibliotecas que contienen los paquetes necesarios para realizar nuestras operaciones. Las bibliotecas básicas son: , y . Dentro de nuestra estructura principal (int main) se declara una variable tipo entero denominada “n”, donde se almacenará el número que el usuario va a ingresar. Para realizar esta conversión se construyó una función recursiva nombrada “Sistema Octal” que recibe como parámetro una variable tipo entero denominada “x”. Dentro de esta función se utiliza una estructura de control if cuya condición es que el número ingresado por el usuario debe dividirse hasta que el cociente obtenido sea menor que 8, de esta manera, si x es mayor que 7, llamamos a nuestra función donde indicamos que el número va a dividirse entre 8. Una vez cumplida esta condición con ayuda del operador módulo (%) se guarda el resultado del resto de nuestras divisiones. Ahora que se ha creado la función recursiva, se manda a llamar dentro del int main con el parámetro de nuestra variable n y finalmente utilizamos la instrucción return 0 para devolver el resultado de la ejecución del programa. A continuación se anexa el código: #include using namespace std; void SistemaOctal(int x){ if(x>7){ SistemaOctal(x/8); } cout...


Similar Free PDFs