PROGRAMACIÓN BÁSICA DE LA COMPUTADORA. 1 Introducción. Tabla 1: Instrucciones MIPS

Tamaño: px
Comenzar la demostración a partir de la página:

Download "PROGRAMACIÓN BÁSICA DE LA COMPUTADORA. 1 Introducción. Tabla 1: Instrucciones MIPS"

Transcripción

1 PROGRAMACIÓN BÁSICA DE LA COMPUTADORA 1 Introducción Un sistema de computadora total incluye tanto circuitería (hardware) como programación (software). El hardware consta de los componentes físicos y todo el equipo asociado, mientras que el software se refiere a los programas que están escritos para la computadora. Es posible conocer diferentes aspectos de programación de computadoras sin relacionarse con los detalles de cómo opera la circuitería. También es posible diseñar partes de la circuitería sin conocer las posibilidades de su software. Sin embargo, quienes se interesan en la arquitectura de la computadora deben conocer tanto la circuitería como el software, porque los dos aspectos influyen uno en el otro. Escribir un programa para una computadora consiste en especificar, en forma directa o indirecta, una secuencia de instrucciones de máquina. Las instrucciones de máquina dentro de la computadora forman un patrón binario al que los usuarios les resulta difícil trabajar y entender (si no imposible). Es preferible escribir programas con los símbolos mas familiares del conjunto de caracteres alfanuméricos, pero es claro que una computadora no puede entender a priori el significado de los mismos. Como consecuencia, existe la necesidad de traducir los programas simbólicos orientados al usuario, a programas binarios que reconozca el hardware. Un programa escrito por el usuario puede ser independiente o dependiente de la computadora física que corre su programa. Por ejemplo, un programa escrito en C estándar es independiente de la máquina porque la mayoría de las computadoras proporcionan un programa traductor que convierte el programa C estándar en código binario de la computadora particular. Pero el programa traductor es dependiente de la máquina porque debe traducir el programa C al código binario reconocido por la circuitería de la computadora particular que se utiliza. Este capítulo presenta algunos conceptos de programación elementales y muestra su relación con la representación de instrucciones de hardware. Además se presentarán las operaciones básicas de los programas que traducen un programa simbólico de usuario a un programa binario equivalente (compiladores y ensambladores). Para ilustrar con ejemplos los detalles que trataremos a continuación se utilizará el set de instrucciones de la arquitectura MIPS. En la Tabla 1 mostramos un subconjunto de estas instrucciones. Símbolo Código hexadecimal Descripción add $1,$2,$3 20 $1 = $2 + $3 (con signo) sub $1,$2,$3 22 $1 = $2 - $3 (con signo) and $1,$2,$3 24 $1 = $2 & $3 or $1,$2,$3 25 $1 = $2 $3 lw $1,CONST($2) 23 $1 = Memoria[$s2 + CONST] sw $1,CONST($2) 2b Memoria[$s2 + CONST] = $1 lui $1,CONST F $1 = CONST j CONST 2 goto dirección CONST beq $1,$2,CONST 4 if ($1 == $2) go to PC+4+CONST bne $1,$2,CONST 5 If ($1!= $2) go to PC+4+CONST Tabla 1: Instrucciones MIPS 2

2 2 Lenguaje de Máquina Un programa es una lista de instrucciones o enunciados para dirigir a la computadora con el propósito de que ejecute una tarea de procesamiento de datos. Existen varios tipos de lenguajes de programación que uno puede escribir para una computadora, pero esta sólo puede ejecutar programas cuando están representados de manera interna en forma binaria. Los programas escritos en cualquier otro lenguaje deben traducirse a la representación binaria de las instrucciones antes de que la computadora pueda ejecutarlos. Los programas escritos para una computadora pueden estar en una de las siguientes categorías: 1. Código binario. Este es una secuencia de instrucciones y operandos en binario que lista la representación exacta de instrucciones conforme aparecen en la memoria de la computadora. 2. Código octal o hexadecimal. Este es una traducción equivalente del código binario en representación octal o hexadecimal. 3. Código simbólico. El usuario emplea símbolos (letras, números o caracteres especiales) para la parte de la operación, la parte de la dirección y las otras partes del código de instrucción. Cada instrucción simbólica puede traducirse a una instrucción codificada en binario. Esta traducción se hace mediante un programa especial llamado ensamblador. Como un ensamblador traduce los símbolos, este tipo de programas simbólicos se denomina programa de lenguaje ensamblador. 4. Lenguajes de programación de alto nivel. Estos son lenguajes especiales desarrollados para reflejar los procedimientos utilizados en la solución de un problema en lugar de interesarse en el desempeño de la circuitería de la computadora. Un ejemplo de un lenguaje de programación de alto nivel es C. Emplea símbolos y formatos orientados a un problema. El programa está escrito en una secuencia de enunciados establecidos de manera parecida a como las personas prefieren pensar cuando resuelven un problema. Sin embargo, cada enunciado debe traducirse a una secuencia de instrucciones de máquina antes de que la computadora pueda ejecutarlo. El programa que traduce un programa de lenguaje de alto nivel se llama compilador. Ahora usaremos la arquitectura MIPS para ilustrar la relación entre los lenguajes binario y ensamblador. Consideremos el programa binario listado en la Tabla 2. La primera columna proporciona la posición de memoria (en binario) de cada instrucción u operando. La segunda columna lista el contenido binario de estas localidades de memoria. (La localidad es la dirección de la palabra de memoria en que se almacena la instrucción. Es importante establecer la diferencia entre la dirección de la instrucción y la instrucción misma.) El programa puede almacenarse en la porción de memoria indicada y la computadora puede ejecutarlo después de comenzado desde la dirección 0. La circuitería de la computadora ejecutará estas instrucciones y realizará la tarea que se pretende. Sin embargo, una persona que observe este programa tendrá dificultades en comprender cuál será el efecto obtenido al ejecutar el programa. No obstante, la circuitería de la computadora sólo reconoce este tipo de código de instrucciones. Escribir 32 bits para cada instrucción es tedioso porque hay demasiados símbolos. Podemos reducir la cantidad de símbolos por instrucción si escribimos el equivalente octal del código binario. Esto requerirá 12 dígitos por instrucción. Por otro parte, podemos reducir cada instrucción a 8 símbolos si escribimos el código hexadecimal equivalente como se muestra en la Tabla 3. 3

3 Posición (en binario) Código de instrucción Tabla 2: Programa binario para sumar dos números El programa de la Tabla 4 utiliza los nombres de instrucciones simbólicos en lugar de su equivalente binario o hexadecimal. Las partes de dirección de las instrucciones de referencia a memoria, al igual que los operandos, conservan su valor hexadecimal. Nótese que la posición 0x20 tiene un operando negativo porque el bit de signo de la posición de la extrema izquierda es 1. Los programas simbólicos son mas fáciles de manejar y, como consecuencia, es preferible escribir programas con símbolos. Posición Instrucción C08001C C C0A B 8D0B D2C B AD4B C FFFFFFE Tabla 3: Programa hexadecimal para sumar dos números Podemos ir un paso mas adelante y sustituir cada dirección hexadecimal por una dirección simbólica y cada operando hexadecimal por un operando decimal. Esto es conveniente porque, por lo general, mientras se escribe un programa no se conoce con exactitud la posición de los operandos numéricos en la memoria. Si los operandos se colocan en la memoria después de las instrucciones y si no se sabe con anticipación el tamaño del programa, la posición de los operandos numéricos no se conoce hasta que se 4

4 llega al final del programa. Además, estamos mas familiarizados con los números decimales que con sus equivalentes hexadecimales. El programa de la Tabla 5 es el programa de lenguaje ensamblador para sumar dos números. Las primeras tres líneas tienen direcciones simbólicas. Sus valores se especifican porque están presentes como una etiquetea en la primera columna. Después del símbolo.word se espcefician operandos decimales. Los números pueden ser positivos o negativos pero, si son negativos, deben convertirse a binario en representación complemento a 2 con signo. Posición Instrucción Comentarios li $t0, 28 Cargar en el registro t0 el valor 28 (0x1C) li $t1, 32 Cargar en el registro t1 el valor 32 (0x20) li $t2, 36 Cargar en el registro t2 el valor 36 (0x24) B lw $t3, 0($t0) Cargar en el registro t3 el valor en la posición de memoria indicada por t lw $t4, 0($t1) Cargar en el registro t4 el valor en la posición de memoria indicada por t add $t3, $t4, $t3 Sumar el valor de t4 al valor de t3, guarda resultado en t sw $t3, 0($t2) Almacenar el valor de t3 en la posición de memoria indicada por t2. beq $0, $0, -1 Termino el programa C Primer operando FFFFFFE9 Segundo operando (negativo) Almacenar la suma aquí. Tabla 4: Programa con códigos de operación simbólicos (ensamblador) li $t0, op1 li $t1, op2 li $t2, op3 lw $t3, 0($t0) lw $t4, 0($t1) add $t3, $t4, $t3 sw $t3, 0($t2) beq $0, $0, -1 #Cargar en el registro t0 el valor 28 (0x1C). #Cargar en el registro t1 el valor 32 (0x20). #Cargar en el registro t2 el valor 36 (0x24). #Cargar en el registro t3 el valor en la posición de memoria indicada por t0. #Cargar en el registro t4 el valor en la posición de memoria indicada por t1. #Sumar el valor de t4 al valor de t3, guarda resultado en t3. #Almacenar el valor de t3 en la posición de memoria indicada por t2. Termino el programa. op1:.word 83 #Primer operando decimal. op2:.word -23 #Segundo operando decimal. op3:.word 0 #Almacenar la suma aquí. Tabla 5: Programa con códigos de operación simbólicos (ensamblador) 5

5 El programa en C equivalente para sumar dos números enteros se lista a continuación. La traducción de este programa C a un programa binario consiste en asignar tres localidades de memoria, dos para los sumandos y una para la suma, y después derivar la secuencia de instrucciones binarias que forman la suma. Por lo tanto, un programa compilador traduce los símbolos del programa C a los valores binarios que se listan en la primer tabla. int a,b,c; a=83; b=-23; c=a+b 3 Lenguaje Ensamblador Un lenguaje de programación se define mediante un conjunto de reglas. Los usuarios deben apegarse a todas las reglas de formato del lenguaje si desean que sus programas se traduzcan en forma correcta. Casi cada computadora comercial tiene su propio lenguaje ensamblador. Las reglas para escribir un programa en lenguaje ensamblador se documentan y publican en manuales que, en general, tiene disponible el fabricante de la computadora. La unidad básica de un programa de lenguaje ensamblador es una línea de código. El lenguaje específico se define mediante un conjunto de reglas que especifican los símbolos que pueden utilizarse y cómo pueden combinarse para formar una línea de código. Ahora formularemos las reglas generales del lenguaje ensamblador para un procesador MIPS. Reglas del lenguaje Cada línea de un programa de lenguaje ensamblador se arregla en tres columnas llamadas campos. Los campos especifican la siguiente información: 1. El campo de etiqueta puede estar vacío o especificar una dirección simbólica. 2. El campo de instrucción especifica una instrucción de máquina. 3. El campo de comentario puede estar vacío o incluir un comentario. Una dirección simbólica consta de caracteres alfanuméricos. El programador puede elegir en forma arbitraria el símbolo. Una dirección simbólica en el campo de etiqueta se termina mediante dos puntos para que el ensamblador pueda reconocerla como etiqueta. El campo de instrucción en un programa de lenguaje ensamblador puede especificar algunas de las siguientes opciones: 1. Una instrucción de lectura/escritura a memoria. 2. Una instrucción aritmética de referencia a registros. 3. Una instrucción de control. 4. Una instrucción de llamada al sistema o entrada/salida. Una dirección simbólica en el campo de instrucción especifica la localidad de memoria del operando. Esta localidad debe definirse en alguna parte del programa porque aparece de nuevo como una etiqueta en la primera columna. Para poder traducir un programa de lenguaje ensamblador a un programa binario es absolutamente necesario que cada instrucción simbólica que se menciona en el campo de instrucción deba ocurrir nuevamente en el campo de etiqueta. Una pseudoinstrucción no es una instrucción de máquina sino una instrucción para el ensamblador que se traduce en una o mas instrucciones de máquina. Por ejemplo en el programa que vimos anteriormente se usa la peudoinstrucción li para cargar un operando de 32 bits en un registro. También existen las llamadas directivas del ensamblador, que también son instrucciones para el ensamblador que proporcionan información acerca de 6

6 alguna parte de la traducción. Por ejemplo en el ejemplo anterior se usa la directiva.word, la cual avisa al ensamblador que el valor que le sigue es una palabra de 32 bits que se desea colocar en memoria. El tercer campo de un programa está reservado para comentarios. Una línea de código puede tener o no un comentario, pero si lo tiene debe estar precedido por el símbolo numeral para que el ensamblador reconozca el comienzo del campo de comentario. Los comentarios son útiles para explicar el programa y para comprender el procedimiento detallado que realiza el programa. Los comentarios se insertan sólo para explicar y no se consideran durante el proceso de traducción a binario. Un ejemplo El programa de la Tabla 6 es un ejemplo de un programa de lenguaje ensamblador. La primera línea tiene la directiva.text para definir el origen del programa en la posición de memoria 0x100. Las siguientes 3 lineas son pseudoinstrucciones para cargar un operando de 32 bits en un registro. Las siguientes 5 son instrucciones de máquina. Se han utilizado tres direcciones simbólicas listadas en la primer columna como una etiqueta y en la columna 2 como una dirección..text 100 li $t0, min li $t1, sub li $t2, dif lw $t3, 0($t0) lw $t4, 0($t1) #Inicio el programa en la posición de memoria 0x100 #Cargar en el registro t0 la dirección min. #Cargar en el registro t1 la dirección sub. #Cargar en el registro t2 la dirección dif. #Cargar en el registro t3 el valor en la posición de memoria indicada por t0. #Cargar en el registro t4 el valor en la posición de memoria indicada por t1. sub $t3, $t4, $t3 #Restar el valor de t4 al valor de t3, guarda resultado en t3. sw $t3, 0($t2) beq $0, $0, -1 #Almacenar el valor de t3 en la posición de memoria indicada por t2. Termino el programa. min:.word 83 #Minuendo. sub:.word -23 #Sustraendo. dif:.word 0 #Almacenar la resta aquí. Tabla 6: Programa en lenguaje ensamblador para restar dos números Cuando el programa se traduce a código binario y la computadora lo ejecuta, se realizará una resta entre dos números. La resta se ejecuta al sumar el minuendo del complemento a 2 del sustraendo. El sustraendo es un número negativo. 3.1 Traducción a binario La traducción del programa simbólico a binario se hace mediante un programa especial llamado ensamblador. Las tareas que ejecuta el ensamblador se comprenderán mejor si realizamos un ejemplo de traducción. La traducción del programa simbólico de la Tabla 6 a su código binario equivalente puede hacerse al examinar el programa y sustituir los símbolos por su código binario de máquina equivalente. Esta traducción consiste en utilizar la Tabla 1 para convertir las instrucción simbólicas en su respectivo código binario. Para esto además el ensamblador utiliza las pseudoinstrucciones y directivas dadas por el programador. El proceso de traducción puede simplificarse si examinamos el programa simbólico 7

7 completo dos veces. No se hace ninguna traducción durante el primer examen. Simplemente asignamos una posición de memoria a cada instrucción de máquina y operando. La asignación de posiciones definirá el valor de dirección de las etiquetas y facilitará el proceso de traducción durante el segundo examen. Por lo tanto, en la tabla, asignamos la posición 0x100 a la primera instrucción despues del.text. Luego asignamos posiciones secuenciales para cada línea de código que tenga una instrucción de máquina u operando hasta el final del programa. Cuando se termina la primer examinación asociamos cada valor con su número de posición y formamos una tabla que defina el valor hexadecimal de cada dirección simbólica. Para este programa, la tabla de dirección de símbolo es como sigue: Dirección simbólica Dirección hexadecimal min 11C sub 120 dif 124 Durante la segunda examinación del programa simbólico se hace referencia a la tabla de símbolos de dirección para determinar el valor de dirección de una instrucción que hace referencia a memoria. Por ejemplo, en la línea de código li $t1, el valor hexadecimal de sub se obtiene de la tabla de símbolos de dirección que aparece arriba y la línea de código lw $t4, 0($t1) se traduce durante la segunda examinación al obtener el valor hexadecimal de lw de la Tabla 1 y el valor de los registros $t4 y $t1 de una tabla similar. Después, se ensamblan las dos partes en una instrucción hexadeximal de cuatro dígitos. El código hexadecimal puede convertirse con facilidad a binario se deseamos conocer exactamente cómo reside este programa en la memoria de la computadora. 4 El ensamblador y el compilador Un ensamblador es un programa que acepta un código en lenguaje simbólico y produce su lenguaje de máquina binario equivalente. El programa simbólico de entrada se llama programa fuente y el programa binario que resulta se llama programa objeto. El ensamblador es un programa que opera sobre cadenas de caracteres y produce una interpreteación binaria equivalente. Un programa que traduce un programa escrito en un lenguaje de programación de alto nivel a un programa de lenguaje de máquina se llama compilador. Un compilador es un programa mas complicado que un ensamblador. Un compilador puede utilizar un lenguaje ensamblador como un paso intermedio en la traducción o puede traducir el programa en forma directa a binario. 5 Código portable La portabilidad en computación se define como la característica que posee un software para ejecutarse en diferentes plataformas, el código fuente del software es capaz de reutilizarse en vez de crearse un nuevo código cuando el software pasa de una plataforma a otra. A mayor portabilidad menor es la dependencia del software con respecto a la plataforma. El prerrequisito para la portabilidad es la abstracción entre la aplicación lógica y las interfaces del sistema. Cuando un software se puede compilar en diversas plataformas (x86, IA64, amd64, etc.), se dice que es multiplataforma. Esta característica es importante para la reducción de costos, cuando se quiere hacer una misma aplicación para ejecutarse en diferentes plataformas. 8

8 El software puede ser recompilado desde su código fuente para diferentes plataformas (sistemas operativos y procesadores) si es escrito en un lenguaje de programación que soporte la compilación en las distintas plataformas. Esto es usualmente una tarea de los desarrolladores; usuarios típicos no tienen aacceso al código fuente ni las habilidades necesarias para hacerlo. Es por esto que en muchos casos el software se distribuye compilado para una plataforma específica y solo puede usarse en dicha plataforma. 5.1 Lenguaje interpretado Un lenguaje interpretado es un lenguaje de programación que está diseñado para ser ejecutado por medio de un intérprete, en contraste con los lenguajes compilados. Teóricamente, cualquier lenguaje puede ser compilado o ser interpretado, así que esta designación es aplicada puramente debido a la práctica de implementación común y no a alguna característica subyacente de un lenguaje en particular. Sin embargo, hay lenguajes que son diseñados para ser intrínsecamente interpretativos, por lo tanto un compilador de dicho lenguaje será poco eficiente. Muchos autores rechazan la clasificación de lenguajes de programación entre interpretados y compilados, considerando que el modo de ejecución (por medio de intérprete o de compilador) del programa escrito en el lenguaje es independiente del propio lenguaje. A ciertos lenguajes interpretados también se les conoce como lenguajes de script. Mientras que Java es traducido a una forma que se destina a ser interpretada, la compilación justo a tiempo (just in time) es frecuentemente usada para generar el código de máquina. Los lenguajes de Microsoft.NET compilan a una forma intermedia (CIL) la cual es entonces a menudo compilada en código de máquina nativo; sin embargo hay una máquina virtual capaz de interpretar el CIL. Muchas implementaciones Lisp pueden mezclar libremente código interpretado y compilado. Estas implementaciones también usan un compilador que puede traducir arbitrariamente código fuente en tiempo de ejecución (runtime) a código de máquina. Los lenguajes interpretados dan a los programas cierta flexibilidad adicional sobre los lenguajes compilados. Algunas características que son más fáciles de implementar en intérpretes que en compiladores incluyen, pero no se limitan, a: Independencia de plataforma (por ejemplo el byte code de Java). Generación funcional de primer orden, y órden sin necesidad de especificar metadata. Posibilidad de generación de código in-situ, sin necesidad de recurrir a una compilación (ie. Spring). Tipos Dinámicos. Facilidad en la depuración (es más fácil obtener información del código fuente en lenguajes interpretados). Pequeño tamaño del programa (puesto que los lenguajes interpretados tienen flexibilidad para elegir el código de instrucción). Por otro lado, la ejecución del programa por medio de un intérprete es usualmente mucho menos eficiente que la ejecución de un programa compilado. No es eficiente en tiempo porque, o cada instrucción debe pasar por una interpretación en tiempo de ejecución, o como en más recientes implementaciones, el código tiene que ser compilado a una representación intermedia antes de cada ejecución. La máquina virtual es una solución parcial al problema de la eficiencia del tiempo pues la definición del lenguaje intermedio es mucha más cercana al lenguaje de máquina y por lo tanto más fácil de ser traducida en tiempo de ejecución. Otra desventaja es la necesidad de un intérprete en la máquina local para poder hacer la ejecución posible. 9

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

Tema 4: Sistemas de Numeración. Codificación Binaria. Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid Tema 4: Sistemas de Numeración. Codificación Binaria Ingeniería Informática Universidad Autónoma de Madrid 1 O B J E T I V O S Sistemas de Numeración. Codificación Binaria Conocer los diferentes sistemas

Más detalles

Tema 1: Computadores y Programas

Tema 1: Computadores y Programas Tema 1: Computadores y Programas Ingeniería Informática Ingeniería Técnica en Informática de Sistemas Ingeniería Técnica en Informática de Gestión Departamento de Ciencia de la Computación e I.A. Universidad

Más detalles

UNIDAD 3: ARITMÉTICA DEL COMPUTADOR

UNIDAD 3: ARITMÉTICA DEL COMPUTADOR UNIDAD 3: ARITMÉTICA DEL COMPUTADOR Señor estudiante, es un gusto iniciar nuevamente con usted el desarrollo de esta tercera unidad. En esta ocasión, haremos una explicación más detallada de la representación

Más detalles

UNIDAD 2 Configuración y operación de un sistema de cómputo Representación de datos Conceptos El concepto de bit (abreviatura de binary digit) es fundamental para el almacenamiento de datos Puede representarse

Más detalles

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.

Más detalles

Representación de Datos. Una Introducción a los Sistemas Numéricos

Representación de Datos. Una Introducción a los Sistemas Numéricos Representación de Datos Una Introducción a los Sistemas Numéricos Tipos de Datos Datos Texto Número Imagen Audio Video Multimedia: Información que contiene números, texto, imágenes, audio y video. Como

Más detalles

Apuntes de Microcontroladores (Repaso de temas previos)

Apuntes de Microcontroladores (Repaso de temas previos) Apuntes de Microcontroladores (Repaso de temas previos) Por M. C. Miguelangel Fraga Aguilar Enero 2015 Representaciones numéricas En estos apuntes se usara el posfijo b para denotar un número escrito en

Más detalles

La Arquitectura de las Máquinas Virtuales.

La Arquitectura de las Máquinas Virtuales. La Arquitectura de las Máquinas Virtuales. La virtualización se ha convertido en una importante herramienta en el diseño de sistemas de computación, las máquinas virtuales (VMs) son usadas en varias subdiciplinas,

Más detalles

Sistemas de Numeración

Sistemas de Numeración UNIDAD Sistemas de Numeración Introducción a la unidad Para la mayoría de nosotros el sistema numérico base 0 aparentemente es algo natural, sin embargo si se establecen reglas de construcción basadas

Más detalles

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

Los sistemas de numeración se clasifican en: posicionales y no posicionales. SISTEMAS NUMERICOS Un sistema numérico es un conjunto de números que se relacionan para expresar la relación existente entre la cantidad y la unidad. Debido a que un número es un símbolo, podemos encontrar

Más detalles

Tema 2. La Información y su representación

Tema 2. La Información y su representación Tema 2. La Información y su representación 2.1 Introducción. Un ordenador es una máquina que procesa información. La ejecución de un programa implica la realización de unos tratamientos, según especifica

Más detalles

Clase 02: Representación de datos

Clase 02: Representación de datos Arquitectura de Computadores y laboratorio Clase 02: Representación de datos Departamento de Ingeniería de Sistemas Universidad de Antioquia 2015-2 Contenido 1 2 Representación de la Información Y sistemas

Más detalles

Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid

Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid Tema 3: Sistemas de Numeración. Codificación Binaria Ingeniería Informática Universidad Autónoma de Madrid 1 O B J E T I V O S Sistemas de Numeración. Codificación Binaria Conocer los diferentes sistemas

Más detalles

Informática Bioingeniería

Informática Bioingeniería Informática Bioingeniería Representación Números Negativos En matemáticas, los números negativos en cualquier base se representan del modo habitual, precediéndolos con un signo. Sin embargo, en una computadora,

Más detalles

Instituto Tecnológico de Celaya

Instituto Tecnológico de Celaya LENGUAJES Lenguaje es el empleo de notaciones, señales y vocales (voz, palabras) para expresar ideas, comunicarse, y establecer relaciones entre los seres humanos. Un lenguaje no sólo consta de palabras,

Más detalles

Introducción. 1. Lenguajes de máquina 2. Lenguajes de ensamblador 3. Lenguajes de alto nivel

Introducción. 1. Lenguajes de máquina 2. Lenguajes de ensamblador 3. Lenguajes de alto nivel Introducción Los programadores escriben en diversos lenguajes de programación, algunos de ellos se pueden entender directamente, pero otros requieren pasos de traducción. Se utilizan cientos de lenguajes

Más detalles

TEMA 1: INTRODUCCIÓN

TEMA 1: INTRODUCCIÓN 1 DISEÑO Y DESARROLLO DE COMPILADORES TEMA 1: INTRODUCCIÓN Qué es un Compilador? Un compilador no es más que un traductor, es decir, un programa que nos permite pasar información de un lenguaje a otro.

Más detalles

TEMA 2: Representación de la Información en las computadoras

TEMA 2: Representación de la Información en las computadoras TEMA 2: Representación de la Información en las computadoras Introducción Una computadora es una máquina que procesa información y ejecuta programas. Para que la computadora ejecute un programa, es necesario

Más detalles

Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte)

Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte) Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte) Unidad de trabajo 2: INFORMÁTICA BÁSICA... 1 1. Representación interna de datos.... 1 1.2. Sistemas de numeración.... 2 1.3. Aritmética binaria...

Más detalles

EIE 446 - SISTEMAS DIGITALES Tema 2: Sistemas de Numeración, Operaciones y Códigos

EIE 446 - SISTEMAS DIGITALES Tema 2: Sistemas de Numeración, Operaciones y Códigos EIE 446 - SISTEMAS DIGITALES Tema 2: Sistemas de Numeración, Operaciones y Códigos Nombre del curso: Sistemas Digitales Nombre del docente: Héctor Vargas Fecha: 1 er semestre de 2011 INTRODUCCIÓN El sistema

Más detalles

Sistema binario. Representación

Sistema binario. Representación Sistema binario El sistema binario, en matemáticas e informática, es un sistema de numeración en el que los números se representan utilizando solamente las cifras cero y uno ( y ). Es el que se utiliza

Más detalles

Lógica Binaria. Arquitectura de Ordenadores. Codificación de la Información. Abelardo Pardo abel@it.uc3m.es. Universidad Carlos III de Madrid

Lógica Binaria. Arquitectura de Ordenadores. Codificación de la Información. Abelardo Pardo abel@it.uc3m.es. Universidad Carlos III de Madrid Arquitectura de Ordenadores Codificación de la Información Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Lógica Binaria COD-1 Internamente el ordenador

Más detalles

UNIDADES DE ALMACENAMIENTO DE DATOS

UNIDADES DE ALMACENAMIENTO DE DATOS 1.2 MATÉMATICAS DE REDES 1.2.1 REPRESENTACIÓN BINARIA DE DATOS Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Los computadores sólo

Más detalles

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

21/02/2012. Agenda. Unidad Central de Procesamiento (CPU) Agenda 0 Tipos de datos 0 Sistemas numéricos 0 Conversión de bases 0 Números racionales o Decimales 0 Representación en signo-magnitud 0 Representación en complemento Unidad Central de Procesamiento (CPU)

Más detalles

LABORATORIO DE COMPUTADORAS

LABORATORIO DE COMPUTADORAS TP 1 LABORATORIO DE COMPUTADORAS Facultad de Ingeniería. UNJu Tema: Sistemas Numéricos y Diseño Combinacional y Secuencial Apellido y Nombre: LU: Carrera: Fecha: 2013 EJEMPLOS Estándar IEEE 754 El estándar

Más detalles

construcción de programas Prof. Eliana Guzmán U.

construcción de programas Prof. Eliana Guzmán U. Unidad II. Metodología para la construcción de programas Prof. Eliana Guzmán U. Semestre: A-2015 Introducción Resolver un problema con una computadora conduce a la escritura de un programa y a su ejecución.

Más detalles

El álgebra booleana (Algebra de los circuitos lógicos tiene muchas leyes o teoremas muy útiles tales como :

El álgebra booleana (Algebra de los circuitos lógicos tiene muchas leyes o teoremas muy útiles tales como : SIMPLIFICACION DE CIRCUITOS LOGICOS : Una vez que se obtiene la expresión booleana para un circuito lógico, podemos reducirla a una forma más simple que contenga menos términos, la nueva expresión puede

Más detalles

Introducción a la Programación 11 O. Humberto Cervantes Maceda

Introducción a la Programación 11 O. Humberto Cervantes Maceda Introducción a la Programación 11 O Humberto Cervantes Maceda Recordando En la sesión anterior vimos que la información almacenada en la memoria, y por lo tanto aquella que procesa la unidad central de

Más detalles

Sistemas numéricos. Aurelio Sanabria Taller de programación

Sistemas numéricos. Aurelio Sanabria Taller de programación Sistemas numéricos Aurelio Sanabria Taller de programación II semestre, 2015 Sistemas numéricos Son un conjunto de reglas y símbolos que permiten construir representaciones numéricas. Los símbolos son

Más detalles

SISTEMAS DE NUMERACIÓN. Sistema decimal

SISTEMAS DE NUMERACIÓN. Sistema decimal SISTEMAS DE NUMERACIÓN Sistema decimal Desde antiguo el Hombre ha ideado sistemas para numerar objetos, algunos sistemas primitivos han llegado hasta nuestros días, tal es el caso de los "números romanos",

Más detalles

1. SISTEMAS DIGITALES

1. SISTEMAS DIGITALES 1. SISTEMAS DIGITALES DOCENTE: ING. LUIS FELIPE CASTELLANOS CASTELLANOS CORREO ELECTRÓNICO: FELIPECASTELLANOS2@HOTMAIL.COM FELIPECASTELLANOS2@GMAIL.COM PAGINA WEB MAESTROFELIPE.JIMDO.COM 1.1. INTRODUCCIÓN

Más detalles

Estructura de Datos. Unidad I Tipos de Datos

Estructura de Datos. Unidad I Tipos de Datos Estructura de Datos Unidad I Tipos de Datos Conceptos Básicos Algoritmo: es una secuencia finita de pasos o instrucciones ordenadas crono-lógicamente que describen un método para resolver un problema específico.

Más detalles

DESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO

DESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO I. SISTEMAS NUMÉRICOS DESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO LIC. LEYDY ROXANA ZEPEDA RUIZ SEPTIEMBRE DICIEMBRE 2011 Ocosingo, Chis. 1.1Sistemas numéricos. Los números son los mismos en todos

Más detalles

SISTEMAS NUMÉRICOS (SISTEMAS DE NUMERACIÓN)

SISTEMAS NUMÉRICOS (SISTEMAS DE NUMERACIÓN) SISTEMAS NUMÉRICOS (SISTEMAS DE NUMERACIÓN) INTRODUCCIÓN Desde hace mucho tiempo, el hombre en su vida diaria se expresa, comunica, almacena información, la manipula, etc. mediante letras y números. Para

Más detalles

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

SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION CHIQUINQUIRA (BOYACA) 2015 1 CONTENIDO Pág. QUE ES UN SISTEMA BINARIO. 3 CORTA HISTORIA DE LOS

Más detalles

UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL CÓRDOBA EL LENGUAJE DE LOS DATOS EN LA PC Y SU FORMA DE ALMACENAMIENTO

UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL CÓRDOBA EL LENGUAJE DE LOS DATOS EN LA PC Y SU FORMA DE ALMACENAMIENTO UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL CÓRDOBA EL LENGUAJE DE LOS DATOS EN LA PC Y SU FORMA DE ALMACENAMIENTO TRABAJO REALIZADO COMO APOYO PARA LA CATEDRA INFORMATICA I Autora: Ing. Ing. Sylvia

Más detalles

Tema 1. Representación de la información MME 2012-20131

Tema 1. Representación de la información MME 2012-20131 Tema 1 Representación de la información 1 Índice Unidad 1.- Representación de la información 1. Informática e información 2. Sistema de numeración 3. Representación interna de la información 2 Informática

Más detalles

MÓDULO 1: Sistemas de Cómputo

MÓDULO 1: Sistemas de Cómputo Asignatura: PROGRAMACIÓN Código: TE243 Prerrequisitos: Algebra Lineal (S)* Intensidad horaria: 80 H.P.S. MÓDULO 1: Sistemas de Cómputo Introducción: un sistema de cómputo es un conjunto de elementos electrónicos

Más detalles

En la actualidad ASCII es un código de 8 bits, también conocido como ASCII extendido, que aumenta su capacidad con 128 caracteres adicionales

En la actualidad ASCII es un código de 8 bits, también conocido como ASCII extendido, que aumenta su capacidad con 128 caracteres adicionales Definición(1) Sistemas numéricos MIA José Rafael Rojano Cáceres Arquitectura de Computadoras I Un sistema de representación numérica es un sistema de lenguaje que consiste en: un conjunto ordenado de símbolos

Más detalles

Matemáticas Básicas para Computación

Matemáticas Básicas para Computación Matemáticas Básicas para Computación MATEMÁTICAS BÁSICAS PARA COMPUTACIÓN 1 Sesión No. 2 Nombre: Sistema de numeración octal y hexadecimal Objetivo Durante la sesión el participante aplicará los métodos

Más detalles

Proyecto de Diseño # 3 DISEÑO E IMPLEMENTACIÓN DE SISTEMAS ARITMÉTICOS MATERIAL ADICIONAL

Proyecto de Diseño # 3 DISEÑO E IMPLEMENTACIÓN DE SISTEMAS ARITMÉTICOS MATERIAL ADICIONAL INSTITUTO TECNOLÓGICO DE COSTA RICA ESCUELA DE INGENIERÍA ELECTRÓNICA IE-3308: LABORATORIO DE DISEÑO LÓGICO Prof. Ing. Luis C. Rosales Proyecto de Diseño # 3 DISEÑO E IMPLEMENTACIÓN DE SISTEMAS ARITMÉTICOS

Más detalles

Sistemas de Numeración Operaciones - Códigos

Sistemas de Numeración Operaciones - Códigos Sistemas de Numeración Operaciones - Códigos Tema 2 1. Sistema decimal 2. Sistema binario 3. Sistema hexadecimal 4. Sistema octal 5. Conversión decimal binario 6. Aritmética binaria 7. Complemento a la

Más detalles

Informática I para Bachillerato

Informática I para Bachillerato CIMAT Introducción a la programación en C/C++ CIMAT Sesión 1 Temario Evaluación Noticias y Material del Curso Sobre la clase: Tareas Objetivo del Curso Inicio de curso Temario: 1 Introducción a la Programación

Más detalles

Sistemas de numeración, operaciones y códigos.

Sistemas de numeración, operaciones y códigos. Tema : Sistemas de numeración, operaciones y códigos. Para representar ideas, los seres humanos (al menos los occidentales) utilizamos cadenas de símbolos alfanuméricos de un alfabeto definido. En el mundo

Más detalles

❷ Aritmética Binaria Entera

❷ Aritmética Binaria Entera ❷ Una de las principales aplicaciones de la electrónica digital es el diseño de dispositivos capaces de efectuar cálculos aritméticos, ya sea como principal objetivo (calculadoras, computadoras, máquinas

Más detalles

Primeros conmutadores: diodos de cristal y de tubos de vacío (1906). Transistor (TRT): más pequeño y fiable, de material semiconductor (1950).

Primeros conmutadores: diodos de cristal y de tubos de vacío (1906). Transistor (TRT): más pequeño y fiable, de material semiconductor (1950). Código binario en Sistemas Digitales Historia Primeros conmutadores: diodos de cristal y de tubos de vacío (1906). Transistor (TRT): más pequeño y fiable, de material semiconductor (1950). Circuitos integrados

Más detalles

TEMA 3 Representación de la información

TEMA 3 Representación de la información TEMA 3 Representación de la información Álvarez, S., Bravo, S., Departamento de Informática y automática Universidad de Salamanca Introducción Para que el ordenador ejecute programas necesita dos tipos

Más detalles

Fundamentos de Programación. Sabino Miranda-Jiménez

Fundamentos de Programación. Sabino Miranda-Jiménez Fundamentos de Programación Sabino Miranda-Jiménez MÓDULO 1. Introducción a la computación Temas: La computación en el profesional de ingeniería Desarrollo computacional en la sociedad Aplicaciones Software

Más detalles

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática Tema 1 Introducción. Arquitectura básica y Sistemas Operativos Fundamentos de Informática Índice Descripción de un ordenador Concepto básico de Sistema Operativo Codificación de la información 2 1 Descripción

Más detalles

Materia Introducción a la Informática

Materia Introducción a la Informática Materia Introducción a la Informática Unidad 1 Sistema de Numeración Ejercitación Prof. Alejandro Bompensieri Introducción a la Informática - CPU Ejercitación Sistemas de Numeración 1. Pasar a base 10

Más detalles

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.

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. Representación de la información Contenidos 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. Conversiones

Más detalles

UNIVERSIDAD BOLIVARIANA DE VENEZUELA

UNIVERSIDAD BOLIVARIANA DE VENEZUELA Introducción: El análisis de la LOGICA DIGITAL precisa la consideración de dos aspectos diferentes: el proceso lógico, que es la base teórica de los computadores, calculadoras, relojes digitales, etc.

Más detalles

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

Materia: Informática. Nota de Clases Sistemas de Numeración Nota de Clases Sistemas de Numeración Conversión Entre Sistemas de Numeración 1. EL SISTEMA DE NUMERACIÓN 1.1. DEFINICIÓN DE UN SISTEMA DE NUMERACIÓN Un sistema de numeración es un conjunto finito de símbolos

Más detalles

ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones

ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones Instruction Set Architecture (ISA) Arquitectura del conjunto de instrucciones software Conjunto de instrucciones hardware Universidad

Más detalles

CONTENIDOS. 2. Entidades primitivas para el desarrollo de algoritmos.

CONTENIDOS. 2. Entidades primitivas para el desarrollo de algoritmos. Introducción a la ciencia de la computación y a la programación 1. La computadora CONTENIDOS 2. Entidades primitivas para el desarrollo de algoritmos. 3. Metodología a seguir para la resolución de problemas

Más detalles

Lenguajes de Programación

Lenguajes de Programación Lenguajes de Programación Mediante los programas se indica a la computadora que tarea debe realizar y cómo efectuarla, pero para ello es preciso introducir estas órdenes en un lenguaje que el sistema pueda

Más detalles

Computación I Representación Interna Curso 2011

Computación I Representación Interna Curso 2011 Computación I Representación Interna Curso 2011 Facultad de Ingeniería Universidad de la República Temario Representación de Números Enteros Representación de Punto Fijo Enteros sin signo Binarios puros

Más detalles

Compiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz

Compiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz Compiladores y Lenguajes de Programación Maria de Guadalupe Cota Ortiz Organizaciones que rigen las normas para estandarización de Lenguajes de Programación IEEE (Instituto de Ingenieros Eléctricos y Electrónicos)

Más detalles

CONTENIDO. 1. Introducción. 2. Reseña histórica del computador. 3. Definición de computador.

CONTENIDO. 1. Introducción. 2. Reseña histórica del computador. 3. Definición de computador. CONTENIDO 1. Introducción. 2. Reseña histórica del computador. 3. Definición de computador. 4. Sistemas numéricos. 4.1 Generalidades. 42 Sistema binario. 4.3 Sistema octal,. 4.4 Sistema decimal. 4.5 Sistema

Más detalles

Generalidades Computacionales

Generalidades Computacionales Capítulo 2 Generalidades Computacionales 2.1. Introducción a los Computadores Definición: Un computador es un dispositivo electrónico que puede transmitir, almacenar, recuperar y procesar información (datos).

Más detalles

Tema 2: Sistemas de representación numérica

Tema 2: Sistemas de representación numérica 2.1 Sistemas de Numeración Definiciones previas Comenzaremos por definir unos conceptos fundamentales. Existen 2 tipos de computadoras: Analógicas: actúan bajo el control de variables continuas, es decir,

Más detalles

Presentación de la materia Historia de las computadoras

Presentación de la materia Historia de las computadoras de la materia de las computadoras Organización de computadoras Universidad Nacional de Quilmes http://orga.blog.unq.edu.ar Horarios Dos bandas horarias: Banda Clase Aula Horario Docente Matutina Teoría

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS

PROGRAMACIÓN ORIENTADA A OBJETOS PROGRAMACIÓN ORIENTADA A OBJETOS Clase 1. Introducción Profesor: Diego Sánchez Gómez Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases

Más detalles

Aritmética del computador. Departamento de Arquitectura de Computadores

Aritmética del computador. Departamento de Arquitectura de Computadores Aritmética del computador Departamento de Arquitectura de Computadores Contenido La unidad aritmético lógica (ALU) Representación posicional. Sistemas numéricos Representación de números enteros Aritmética

Más detalles

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

Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 Aritmética binaria Oliverio J. Santana Jaria 3. Aritmética tica binaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso 2006 2007 Para Los La en conocer muchos aritmética comprender otros binaria tipos

Más detalles

Organización del Computador. Prof. Angela Di Serio

Organización del Computador. Prof. Angela Di Serio Punto Flotante Muchas aplicaciones requieren trabajar con números que no son enteros. Existen varias formas de representar números no enteros. Una de ellas es usando un punto o coma fijo. Este tipo de

Más detalles

Estructura de Computadores. Capítulo 3b: Programación en

Estructura de Computadores. Capítulo 3b: Programación en Estructura de Computadores Capítulo 3b: Programación en ensamblador del MIPS. José Daniel Muñoz Frías Universidad Pontificia Comillas. ETSI ICAI. Departamento de Electrónica y Automática Estructura de

Más detalles

Representación de números en binario

Representación de números en binario Representación de números en binario Héctor Antonio Villa Martínez Programa de Ciencias de la Computación Universidad de Sonora El sistema binario es el más utilizado en sistemas digitales porque es más

Más detalles

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

Sistemas Numéricos. M. en C. Erika Vilches Sistemas Numéricos M. en C. Erika Vilches Introducción Qué es un sistema numérico? Conjunto de números que se relacionan para expresar la relación existente entre la cantidad y la unidad. Características

Más detalles

Matemática de redes Representación binaria de datos Bits y bytes

Matemática de redes Representación binaria de datos Bits y bytes Matemática de redes Representación binaria de datos Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Los computadores sólo pueden entender

Más detalles

ARQUITECTURA DE LAS COMPUTADORAS PRACTICA

ARQUITECTURA DE LAS COMPUTADORAS PRACTICA ARQUITECTURA DE LAS COMPUTADORAS PRACTICA SISTEMAS NUMÉRICOS INTRODUCCIÓN TEÓRICA: Definimos Sistema de Numeración como al conjunto de reglas que permiten, con una cantidad finita de símbolos, representar

Más detalles

ELECTRÓNICA DIGITAL. Sistemas analógicos y digitales.

ELECTRÓNICA DIGITAL. Sistemas analógicos y digitales. ELECTRÓNICA DIGITAL El tratamiento de la información en electrónica se puede realizar de dos formas, mediante técnicas analógicas o mediante técnicas digitales. El analógico requiere un análisis detallado

Más detalles

Introducción a la Computación

Introducción a la Computación Introducción a la Computación MCC Marco Antonio Crúz Chávez 2003 Sistema de información Es un sistema incluido en otro sistema mayor que recibe, almacena, procesa y distribuye información. Los principales

Más detalles

Representación en Punto Flotante

Representación en Punto Flotante Representación en Punto Flotante Minaya Villasana Abril-Julio, 2004 1 Representación en base 2 Las computadoras tienen dos formas de representar números: enteros (solo usado para enteros) y punto flotante

Más detalles

Práctica 0. Emulador XENON de la computadora CESIUS

Práctica 0. Emulador XENON de la computadora CESIUS Práctica 0. Emulador XENON de la computadora CESIUS 1. Introducción El objeto de la presente práctica es permitir al alumno ensayar y familiarizarse con los conceptos de programación de computadoras digitales

Más detalles

Matemáticas para la Computación

Matemáticas para la Computación Matemáticas para la Computación José Alfredo Jiménez Murillo 2da Edición Inicio Índice Capítulo 1. Sistemas numéricos. Capítulo 2. Métodos de conteo. Capítulo 3. Conjuntos. Capítulo 4. Lógica Matemática.

Más detalles

Procesadores Superescalares: Paralelismo Explícito a Nivel de Instrucción

Procesadores Superescalares: Paralelismo Explícito a Nivel de Instrucción Tema 8 Procesadores Superescalares: Paralelismo Explícito a Nivel de Instrucción IA-64 es una arquitectura de 64 bits desarrollada conjuntamente por Intel y HP (Hewlett- Packard). Está basado en una tecnología

Más detalles

LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS

LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS ESTRUCTURA DE COMPUTADORES Pag. 8.1 LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS 1. Circuitos de multiplicación La operación de multiplicar es mas compleja que la suma y por tanto se

Más detalles

ANEXO 2: REPRESENTACION DE LA INFORMACION EN LOS COMPUTADORES

ANEXO 2: REPRESENTACION DE LA INFORMACION EN LOS COMPUTADORES ANEXO 2: REPRESENTACION DE LA INFORMACION EN LOS COMPUTADORES SISTEMA DE NUMERACIÓN BASE 2 El sistema de numeración binario es el conjunto de elementos {0, 1} con las operaciones aritméticas (suma, resta,

Más detalles

Representación de la Información en una Computadora

Representación de la Información en una Computadora Representación de la Información en una Computadora Sistemas de Numeración El sistema de numeración que utiliza el hombre es el sistema decimal (de base 10). Lo creamos en forma natural porque tenemos

Más detalles

TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL

TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL TEMA I: INTRODUCCIÓN A LA ELECTRÓNICA DIGITAL 1. Electrónica Digital Antes de empezar en el tema en cuestión, vamos a dar una posible definición de la disciplina que vamos a tratar, así como su ámbito

Más detalles

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante

A continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante Modulo 2. Inicio con Java Muchas veces encontramos en nuestro entorno referencias sobre Java, bien sea como lenguaje de programación o como plataforma, pero, que es en realidad Java?, cual es su historia?,

Más detalles

Notas de Teórico. Sistemas de Numeración

Notas de Teórico. Sistemas de Numeración Departamento de Arquitectura Instituto de Computación Universidad de la República Montevideo - Uruguay Sistemas de umeración Arquitectura de Computadoras (Versión 5. - 4) SISTEMAS DE UMERACIÓ Introducción

Más detalles

INFORMÁTICA BÁSICA 1ª PARTE (DURACIÓN TOTAL DEL EXAMEN: 2 HORAS Y 15 MINUTOS)

INFORMÁTICA BÁSICA 1ª PARTE (DURACIÓN TOTAL DEL EXAMEN: 2 HORAS Y 15 MINUTOS) INFORMÁTICA BÁSICA 1ª PARTE (DURACIÓN TOTAL DEL EXAMEN: 2 HORAS Y 15 MINUTOS) Los dos ejercicios de esta parte se contestarán en la misma hoja (o varias hojas si es necesario). Es preciso responder razonadamente

Más detalles

TEMA II REPASO. SISTEMAS DE NUMERACIÓN USUALES EN INFORMÁTICA.

TEMA II REPASO. SISTEMAS DE NUMERACIÓN USUALES EN INFORMÁTICA. TEMA II REPASO. SISTEMAS DE NUMERACIÓN USUALES EN INFORMÁTICA. INTRODUCCIÓN. Entendemos por sistema de numeración, la forma de representar cantidades mediante un sistema de valor posicional. Los ordenadores

Más detalles

Introducción a Códigos

Introducción a Códigos Introducción a Página 1 Agenda Página 2 numéricos posicionales numéricos no posicionales Construcción de cantidades Sistema decimal Sistema binario binarios alfanuméricos Conversión decimal a binario Conversión

Más detalles

A continuación se mostrarán ejemplos de tres clases de códigos: numéricos, alfanuméricos y de despliegue.

A continuación se mostrarán ejemplos de tres clases de códigos: numéricos, alfanuméricos y de despliegue. Capítulo 3 1 Codificación binaria 3.1. Codificación En un ambiente de sistemas digitales se denomina codificación a la asignación de un significado a una configuración de bits. Al modelar problemas es

Más detalles

TELEMÁTICA. Arquitectura de Ordenadores I. Apuntes de Arquitectura de Ordenadores I. Norberto M. Ramos Calero

TELEMÁTICA. Arquitectura de Ordenadores I. Apuntes de Arquitectura de Ordenadores I. Norberto M. Ramos Calero TELEMÁTICA Arquitectura de Ordenadores I Apuntes de Arquitectura de Ordenadores I Norberto M. Ramos Calero EUITT ARQUITECTURA DE ORDENADORES I Apuntes de Arquitectura de Ordenadores I Norberto M. Ramos

Más detalles

1 LA INFORMACION Y SU REPRESENTACION

1 LA INFORMACION Y SU REPRESENTACION 1 LA INFORMACION Y SU REPRESENTACION 1.1 Sistemas de numeración Para empezar a comprender cómo una computadora procesa información, debemos primero entender cómo representar las cantidades. Para poder

Más detalles

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016!

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016! INFORMÁTICA Práctica4. ProgramaciónbásicaenC. GradoenIngenieríaenElectrónicayAutomáticaIndustrial Curso2015H2016 v2.1(18.09.2015) A continuación figuran una serie de ejercicios propuestos, agrupados por

Más detalles

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true I. FUNDAMENTOS 3. Representación de la información Introducción a la Informática Curso de Acceso a la Universidad

Más detalles

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente:

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente: Departamento de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Antioquia Arquitectura de Computadores y Laboratorio ISI355 (2011 2) Práctica No. 1 Diseño e implementación de una unidad aritmético

Más detalles

LA COMPUTADORA DIGITAL Parte 2

LA COMPUTADORA DIGITAL Parte 2 LA COMPUTADORA DIGITAL Parte 2 Memoria Parte de la computadora donde se almacena de manera temporal la información (programas + datos). La unidad básica de memoria es el bit o dígito binario (0 ó 1). Representación

Más detalles

1000 + 900 + 90 + 7 = 1997

1000 + 900 + 90 + 7 = 1997 ases Matemáticas I - Pagina 1 de 20 Tema 2: ases Matemáticas I. 2.1.- Números utilizados en los sistemas digitales. 2.1.1 Introducción. El sistema de numeración decimal es familiar a todo el mundo. Este

Más detalles

Tema 3 Elementos básicos de programación

Tema 3 Elementos básicos de programación Representación de Datos y Aplicaciones Tema 3 Elementos básicos de programación Natividad Martínez Madrid nati@it.uc3m.es Objetivos del tema 3 Conocer la estructura básica de un programa Java Comprender

Más detalles

Sebastián García Galán Sgalan@ujaen.es

Sebastián García Galán Sgalan@ujaen.es Universidad de Jaén E.U.P. Linares Dpto. Telecomunicaciones Área de Ingeniería Telemática Sebastián García Galán Sgalan@ujaen.es TEMA 2: 2.1 CODIFICACIÓN 2.2 SISTEMAS DE NUMERACIÓN BASES DE NUMERACIÓN

Más detalles

TEMA II: REPRESENTACIÓN DE LA INFORMACIÓN

TEMA II: REPRESENTACIÓN DE LA INFORMACIÓN TEMA II: REPRESENTACIÓN DE LA INFORMACIÓN 2.1. Introducción. El computador procesa información. Para que un ordenador ejecute unos datos es necesario darle dos tipos de información: las instrucciones que

Más detalles

Introducción a los Sistemas Digitales

Introducción a los Sistemas Digitales Tema Sistema Estructura y comportamiento Señal analógica y señal digital Señal binaria Sistemas de numeración Representación de números enteros Signo-magnitud Complemento a dos Codificación Códigos numéricos

Más detalles

La Unidad Procesadora.

La Unidad Procesadora. La Unidad Procesadora. En un sistema digital complejo, la capa de hardware de la máquina es el nivel más bajo del modelo de capas de un sistema microcomputarizado. La unidad procesadora es una parte del

Más detalles

Algoritmos de multiplicación y división.

Algoritmos de multiplicación y división. Capítulo 11. 1 Algoritmos de multiplicación y división. A continuación se estudiarán algoritmos para efectuar las operaciones de multiplicación y división entera. Usualmente estas operaciones están soportadas

Más detalles