UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA Programación Avanzada en C
|
|
- José Luis Maestre Gómez
- hace 8 años
- Vistas:
Transcripción
1 Rutinas de conversión. De enteros a caracteres. Ltoa. Long to Ascii. Pasar de un número en representación interna a una secuencia de caracteres, permite desplegar en la salida los valores de las variables de un programa. La siguiente rutina convierte un entero largo, en representación interna, en una secuencia de dígitos. Se dispone, como argumento de la función, de la base numérica en la que los números se representarán en forma externa. La función ocupa un buffer estático de 65 bits, lo cual permite convertir enteros de 64 bits en secuencias binarias. Se considera en el buffer espacio para el signo y el terminador del string. Para enteros de 16 bits, el rango de representación es: [ ] el cual requiere de 5 char para representar mediante dígitos decimales. Para enteros de 32 bits: [ ] se requieren 10 chars para dígitos. Para enteros de 64 bits: [ ] se requieren 19 char para dígitos decimales. Para imprimir en binario se requieren 63 dígitos binarios. El procedimiento consiste en sacar el módulo base del número, esto genera el último carácter del número; es decir el menos significativo. Luego se divide en forma entera por la base, quedando el resto; del cual se siguen extrayendo uno a uno los dígitos. Por ejemplo para el entero 123 en base decimal, al sacar módulo 10 del número se obtiene el dígito de las unidades, que es 3. Al dividir, en forma entera por la base, se obtiene el número de decenas; es decir, 12. Sacando módulo 10 se obtiene 2; y al dividir por la base se obtiene el número de centenas. Si la base que se pasa como argumento es menor o igual a cero, se asume base decimal. Si la base es mayor que 36, también se asume base decimal. Con base 36 se tienen los 10 dígitos decimales y todas las letras como los dígitos del sistema. La función retorna un puntero al primer carácter de la secuencia. Al inicio de la rutina se apunta al final del buffer, a la posición de las unidades, ya que los dígitos se generan a partir de las unidades. El carácter de fin de string se coloca automáticamente al definir el buffer estático, ya que éste es inicializado con ceros. La función permite desplegar secuencias binarias y hexadecimales. Prof. Leopoldo Silva Bijit
2 Para convertir un número entero a un carácter de un dígito decimal se suma el valor del carácter 0 ; el valor asociado a 0 es 0x30, al 1 está asociado el 0x31. Para números mayores que 9 se suma el valor del carácter 7 (que es 55 decimal); de esta manera para 10, se obtiene: = 65 que es el equivalente a A. #define INT_DIGITOS 63 static char buf[int_digitos + 2]; /* Buffer para INT_DIGITS dígitos, signo - y fin de string '\0' */ char * ltoa(long int i, unsigned int base) char *p = buf + INT_DIGITOS + 1; /* apunta a posición de unidades */ int dig, signo=0; if (i<0) signo=1;i = -i; if(base<=0 base>36) base=10; /*evita división por cero */ do dig=(i%base); if (dig <=9) *--p = '0' + dig; else *--p= '7'+ dig ; i /= base; while (i!= 0); if(signo) *--p = '-'; return p; Para convertir enteros se emplea la misma rutina anterior, invocando con una conversión explícita del entero a largo. char * itoa(int i, unsigned int base) return (ltoa((long)i, base)); La siguiente rutina permite el despliegue del string, mediante putchar. #include <stdio.h> void prtstr(char * p) while(*p) putchar(*p++); El siguiente ejemplo ilustra el uso de las rutinas de conversión. int main(void) int i=-31; Prof. Leopoldo Silva Bijit
3 long int l= L; prtstr( itoa(i,32) ); putchar('\n'); prtstr( ltoa(l,2) ); putchar('\n'); return (0); De secuencias de caracteres a enteros. Si bien esta rutina efectúa el trabajo inverso de la anterior, su diseño es más complejo, ya que debe operar con datos suministrados por un ser humano. La anterior saca algo que está en formato interno y que está bien especificado. En la conversión de un string en un long integer, debe asumirse que el usuario provee una secuencia de caracteres que tiene el siguiente formato: [blancos*] [signo] [0] [x X] [ddd] Los corchetes indican elementos opcionales, el asterisco la repetición de cero o más veces. De esta forma podrían digitarse caracteres espacios o tabuladores antes de la secuencia; podría indicarse el signo +, y también declarar números octales si el primer dígito es cero, o hexadecimales si los primeros dígitos son 0x ó 0X. En el diseño se decide terminar de leer cuando encuentra un carácter que no cumpla el formato. Para permitir seguir analizando la secuencia de entrada se decide pasar a la función, además de un puntero al inicio de la secuencia a analizar, y de la base, la referencia a un puntero a carácter. Al salir de la función se escribe, en la variable pasada por referencia, el valor del puntero que apunta al carácter que detuvo el scan, por no cumplir el formato. Esto debido a que en C, sólo se puede retornar un valor desde la función. Además la función debe resolver que el valor del número ingresado no exceda el mayor representable. Como los números se representan con signo en complemento a la base, se tendrán valores máximos diferentes(en la unidad) para el máximo positivo y el máximo negativo. Por ejemplo para enteros largos de 32 bits, el rango asimétrico de representación en base decimal es [ ]. Entonces debe considerarse que cuando se tenga ingresada la secuencia (corte), si el siguiente dígito(límite) es mayor que 7, para positivos; y mayor que 8, para negativos se tendrá rebalse. Y se debe notificar con el código de error estándar: error de rango. Prof. Leopoldo Silva Bijit
4 Los valores máximos de las representaciones se almacenan en limits.h, mediante estas constantes se pueden calcular la secuencia de corte y el dígito límite, que permiten determinar si se sobrepasa o no el rango de representación. En el código siguiente se incorporan el texto de las funciones, macros y constantes, y se comentan la inclusión de los archivos que las contienen. Los macros de ctype.h se han simplificado, ya que suelen estar implementados mediante una tabla de búsqueda. En la variable local acc se va formando el número. La variable any se coloca en uno si se han consumido caracteres desde la secuencia de entrada; y se le da un valor negativo si se produce rebalse. Como se lee la secuencia de izquierda a derecha, el núcleo del algoritmo consiste en multiplicar el número acumulado en acc, por la base y luego sumarle el valor numérico del dígito. Por ejemplo, la secuencia 123 en decimal, es procesada según: 0* = 1 1* = 12 12* = 123 Nótese que el segundo argumento de la función es un puntero a un puntero a carácter. En caso que a la función se le pase un puntero no nulo, retornará la posición donde se detuvo el scan, o la dirección de inicio de la secuencia si se excede el rango de representación. El código de la rutina pertenece a la Universidad de California. /*#include <limits.h>*/ #define LONG_MAX 0x7FFFFFFFL #define LONG_MIN ((long)0x l) /*#include <ctype.h>*/ #define islower(c) (('a' <= (c) ) && ((c) <= 'z')) #define isupper(c) (('A' <= (c) ) && ((c) <= 'Z')) #define isdigit(c) (('0' <= (c) ) && ((c) <= '9')) #define isspace(c) ((c) == ' ' (c) == '\t' (c)== '\n') #define isalpha(c) ((islower(c)) (isupper(c))) /*#include <errno.h>*/ #define ERANGE 34 /* Resultado demasiado grande. Rebalse de representación. */ extern int errno; /* Copyright (c) 1990 The Regents of the University of California.*/ long strtol(const char *nptr, char **endptr, int base) register const char *s = nptr; Prof. Leopoldo Silva Bijit
5 register unsigned long acc; register int c; register unsigned long cutoff; register int neg = 0, any, cutlim; do c = *s++; while (isspace(c)); /* salta blancos*/ if (c == '-') neg = 1; c = *s++; /* si negativo, registra signo en neg */ else if (c == '+') c = *s++; /* salta signo + */ if ( (base == 0 base == 16) && c == '0' && (*s == 'x' *s == 'X') ) c = s[1];s += 2; base = 16; /*si base es 0 ó 16 consume 0x ó 0X y lee hex*/ if (base == 0) base = c == '0'? 8 : 10; /*si la base es cero, si el primer digito es cero lee octal, sino asume decimal */ /*Calcula el corte y el dígito límite, a partir de los máximos */ cutoff = neg? -(unsigned long) LONG_MIN : LONG_MAX; cutlim = (int)(cutoff % (unsigned long) base); cutoff /= (unsigned long) base; for (acc = 0, any = 0; ; c = *s++) if (isdigit(c)) c -= '0'; else if (isalpha(c)) c -= (isupper(c))? 'A' - 10 : 'a' - 10; else break; if (c >= base) break; if (any < 0 acc > cutoff acc == cutoff && c > cutlim) any = -1; else any = 1; acc *= base; acc += c; if (any < 0) acc = neg? LONG_MIN : LONG_MAX; errno = ERANGE; else if (neg) acc = -acc; if (endptr!= 0) *endptr = any? (char *)(s - 1) : (char *)nptr; return (acc); Las funciones atoi y atol se implementan en base a strtol. En éstas, la base es 10, y no se pasa una referencia a un puntero a carácter. /* Convierte un string en un entero. Ascii to integer. */ int atoi (const char *nptr) return (int) strtol (nptr, (char **) NULL, 10); Prof. Leopoldo Silva Bijit
6 /* Convierte un string en un entero largo. Ascii to long */ long int atol (const char *nptr) return strtol (nptr, (char **) NULL, 10); El siguiente ejemplo ilustra el uso de strtol, y la forma de emplear el segundo argumento. Nótese que al invocar se pasa la dirección de un puntero a carácter; y que al salir, endptr queda apuntando al carácter que no es valido en la secuencia. /* strtol ejemplo */ #include <stdio.h> int main(void) char *string = " guena", *endptr; long lnumber; /* strtol converts string to long integer */ lnumber = strtol(string, &endptr, 10); printf("string = %s long = %ld\n", string, lnumber); printf(" endptr = %s \n", endptr); return 0; Nótese que el segundo argumento actual, en la invocación, es &endptr; es decir, la dirección de un puntero. Entonces en la definición de la función el tipo del segundo argumento debe un puntero a puntero a carácter; es decir: char * * endptr. De dobles a caracteres. Resulta útil una función que convierta un número en punto flotante en una base b1 en otro número punto flotante en base b2. Si b1 es 2 y b2 es 10, se convierte un número real en representación interna en externa. Se dice que en un sistema de base b, la mantisa m está normalizada si: 1/b <= m < 1 El algoritmo consiste en alternar las multiplicaciones (o divisiones) de m por b1, con las divisiones (o multiplicaciones) por b2, de tal forma que m se mantenga en el rango: Prof. Leopoldo Silva Bijit
7 1/b <= m < b con b = b1*b2 El algoritmo es ineficiente, pues el número de operaciones es proporcional a e1; además introduce cierto error, debido a las numerosas operaciones de truncamiento para mantener la mantisa dentro del rango anterior. Debido a que la función entrega dos valores, se decide pasar por referencia el exponente e2. /*Dado un flotante m1*pow(b1, e1) se desea obtener m2*pow(b2, e2) */ double convierta(double m, int e1, int b1, int *e2, int b2) *e2=0; if (e1>=0) while (e1>0) m*=b1;e1--; while(m>=1) m/=b2;(*e2)++; else do m/=b1;e1++; while( m <(1/b2) ) m*=b2;(*e2)--; while (e1!=0); return(m); Un ejemplo de uso se ilustra a continuación: Se definen algunas variables: double number, mantisa, m2; int e1, int e2=0; El siguiente llamado a la rutina frexp, declarada en math.h, retorna la mantisa y el exponente de un número flotante doble, según: mantisa * pow(2, exponente) Con: 0.5 =< mantisa < 1 mantisa = frexp(number, &e1); El llamado a convierta escribe en m2 y e2, el número doble mantisa e1. m2 = convierta(mantisa, e1, 2, &e2, 10); Prof. Leopoldo Silva Bijit
8 printf("m2 = %lf \n", m2); printf("e2 = %d \n", e2); La función prtmantisa imprime la parte fraccionaria o mantisa normalizada de un número u en punto flotante de doble precisión, mediante putchar; empleando como base numérica a base, y sacando un número de dígitos igual a ndig. Sólo acepta bases positivas menores o iguales que 36; en caso de estar fuera de rango asume base decimal. void prtmantisa(double u, int ndig, int base) int i=0; int v; putchar('.'); if(base<=0 base>36) base=10; for(i=0; i<ndig; i++) u*=base; v=(int)u; if (v <=9) putchar(v+'0'); else putchar(v+'7'); u-=v; Multiplica la mantisa por la base, quedando de esta forma un número a la izquierda del punto decimal. Dicho dígito puede obtenerse en v, truncando el doble; esto se logra mediante el cast explícito a entero. Luego se puede enviar hacia la salida el carácter, considerando una conversión a carácter, que toma en cuenta bases mayores a la decimal. Antes de volver a seguir desplegando caracteres, le quita la parte entera al doble; de este modo al inicio del bloque, u siempre es un número fraccionario puro. Los siguientes ejemplos ilustran el uso de la función: prtmantisa(mantissa, 18, 10); putchar('\n'); prtmantisa(mantissa, 52, 2); putchar('\n'); prtmantisa(mantissa, 8, 16); putchar('\n'); Nótese que no tiene sentido invocar la impresión binaria con más de 52 bits, ya que ese es el número de bits de un doble. Tampoco tiene sentido invocar la impresión hexadecimal de la mantisa con más de 7 cifras. Puede verificarse que tampoco tiene sentido solicitar salidas en base decimal con más de 18 dígitos, ya que ésta es la precisión de un doble. La impresión del exponente, mediante putchar, puede lograrse empleando itoa. Prof. Leopoldo Silva Bijit
Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS
Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS Por Andrés Raúl Bruno Saravia Entrega Nº 5. Cómo declaramos una variable en Lenguaje C? En C siempre se deben declarar las variables.
Más detallesELO311 Estructuras de Computadores Digitales. Números
ELO311 Estructuras de Computadores Digitales Números Tomás Arredondo Vidal Este material está basado en: material de apoyo del texto de David Patterson, John Hennessy, "Computer Organization & Design",
Más detallesUNIDAD 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 detallesIntroducció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 detallesOrganizació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 detallesInformática 1 Sistemas numéricos: decimal, binario, octal y hexadecimal FCFA Febrero 2012
Informática 1 Sistemas numéricos: decimal, binario, octal y hexadecimal CONVERSIONES DE UN SISTEMA A OTRO Para la realización de conversiones entre números de bases diferentes se efectúan operaciones aritméticas
Más detallesMateria: 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 detallesTipos de Datos en C. Palabras reservadas en C
Tipos de Datos en C Tipo Tamaño de bits Rango char 8-128 a 127 unsigned char 8 0 a 255 signed char 8-128 a 127 int 16 32768 a 32767 unsigned int 16 0 a 65535 signed int 16 Igual que int short int 16 Igual
Más detallesPreliminares. Tipos de variables y Expresiones
Preliminares. Tipos de variables y Expresiones Felipe Osorio Instituto de Estadística Pontificia Universidad Católica de Valparaíso Marzo 5, 2015 1 / 20 Preliminares Computadoras desarrollan tareas a un
Más detallesSistemas 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 detallesTema 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 detallesCapítulo 1: Sistemas de representación numérica Introducción. Dpto. de ATC, Universidad de Sevilla - Página 1 de 8
Dpto. de ATC, Universidad de Sevilla - Página de Capítulo : INTRODUCCIÓN SISTEMAS DE REPRESENTACIÓN NUMÉRICA Introducción Bases de numeración Sistema decimal Sistema binario Sistema hexadecimal REPRESENTACIÓN
Más detallesUNIDAD Nº 1: 1. SISTEMAS DE NUMERACION. Formalizado este concepto, se dirá que un número X viene representado por una cadena de dígitos:
UNIDAD Nº 1: TECNICATURA EN INFORMATICA UNLAR - CHEPES 1.1. INTRODUCCION 1. SISTEMAS DE NUMERACION El mundo del computador es un mundo binario. Por el contrario, el mundo de la información, manejada por
Más detallesSISTEMAS 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 detallesUnidad 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 detalles7. Manejo de Archivos en C.
7. Manejo de Archivos en C. Los datos que hemos tratado hasta el momento han residido en la memoria principal. Sin embargo, las grandes cantidades de datos se almacenan normalmente en un dispositivo de
Más detallesTema 5 Sentencias de control de flujo. Fundamentos de Informática
Tema 5 Fundamentos de Informática Sentencias de Control Tipos de sentencias de control: Comprobación lógica para bifurcar el flujo de un programa. Sentencias de control condicional o alternativo Comprobación
Más detallesRepresentación de la Información
Representar: Expresar una información como una combinación de símbolos de un determinado lenguaje. Trece -> símbolos 1 y 3 Interpretar: Obtener la información originalmente representada a partir de una
Más detallesEJERCICIOS DEL TEMA 1
EJERCICIOS DEL TEMA 1 Introducción a los ordenadores 1) Averigua y escribe el código ASCII correspondiente, tanto en decimal como en binario, a las letras de tu nombre y apellidos. Distinguir entre mayúsculas/minúsculas,
Más detallesby 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 detallesEjemplos de conversión de reales a enteros
Ejemplos de conversión de reales a enteros Con el siguiente programa se pueden apreciar las diferencias entre las cuatro funciones para convertir de reales a enteros: program convertir_real_a_entero print
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!
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 detallesTema 2. El lenguaje de programación Java (Parte 1)
Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de
Más detallesTRADUCTORES, COMPILADORES E INTÉRPRETES. EJERCICIOS TEMA 5, 6, 7 y 8.
TRADUCTORES, COMPILADORES E INTÉRPRETES. EJERCICIOS TEMA 5, 6, 7 y 8. 1.) (HOLUB). Escribir un traductor que reconozca definiciones de C siguiendo el estilo antiguo, tal como: prueba(uno, dos, tres, cuatro,
Más detallesApuntes 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 detallesUniversidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C
Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C Directivas del procesador Main() { Declaraciones Definiciones proposiciones }
Más detallesRepresentació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 detallesEJERCICIOS RESUELTOS SOBRE ERRORES DE REDONDEO
EJERCICIOS RESUELTOS SOBRE ERRORES DE REDONDEO 1º) Considérese un número estrictamente positivo del sistema de números máquina F(s+1, m, M, 10). Supongamos que tal número es: z = 0.d 1 d...d s 10 e Responde
Más detallesLos 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 detallesMatemá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 detalles1. 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 detallesCapítulo 2 REPRESENTACIÓN DE LOS DATOS. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"
Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C" Autor: Carlos Javier Pes Rivas (correo@carlospes.com) Capítulo 2 REPRESENTACIÓN DE LOS DATOS 1 OBJETIVOS Entender cómo la computadora
Más detallesAritmética finita y análisis de error
Aritmética finita y análisis de error Escuela de Ingeniería Informática de Oviedo (Dpto. de Matemáticas-UniOvi) Computación Numérica Aritmética finita y análisis de error 1 / 47 Contenidos 1 Sistemas decimal
Más detallesSe guardan en archivos con extencion c y los cabezales con extension h
Se guardan en archivos con extencion c y los cabezales con extension h Tipos de Variables: Tipo Tamaño(bytes) Limite inferior Limite superior char 1 -- -- unsigned char 1 0 255 short int 2-32768 +32767
Más detallesSISTEMAS Y CÓDIGOS DE NUMERACIÓN
INTRODUCCIÓN SISTEMAS Y CÓDIGOS DE NUMERACIÓN Una señal analógica es aquella que puede tomar infinitos valores para representar la información. En cambio, en una señal digital se utiliza sólo un número
Más detallesNaturaleza binaria. Conversión decimal a binario
Naturaleza binaria En los circuitos digitales sólo hay 2 voltajes. Esto significa que al utilizar 2 estados lógicos se puede asociar cada uno con un nivel de tensión, así se puede codificar cualquier número,
Más detallesSistema 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 detallesLECCIÓ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 detallesDESARROLLO 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 detallesSOLUCION EXAMEN junio 2006
SOLUCION EXAMEN junio 2006 1. Explique razonadamente si las siguientes afirmaciones son verdaderas o falsas: I) (1 p) En UNIX únicamente se distinguen dos tipos de procesos: los procesos de usuario y los
Más detalles❷ 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 detallesRepresentació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 detallesElementos léxicos del lenguaje de programación Java
Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores
Más detallesUnidad 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 detallesSISTEMAS DE NUMERACIÓN (11001, 011) 1.2 1.2 0.2 0.2 1.2 0.2 1.2 1.2 = + + + + + + + = 1 1 4 8 (32,12)
SISTEMAS DE NUMERACIÓN 1. Expresa en base decimal los siguientes números: (10011) ; ( 11001,011 ) 4 (10011) = 1. + 0. + 0. + 1. + 1. = 16 + + 1 = 19 (11001, 011) 1. 1. 0. 0. 1. 0. 1. 1. 4 1 = + + + + +
Más detallesExamen Septiembre Curso 2001-2002 -- Programación en C++ Pág. 1
Examen Septiembre Curso 2001-2002 -- Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1.1 Ejercicio 1: Convertidor Dec->Hex y Hex->Dec (5.0 ptos.)... 1 1.1.1 Apartado A (4.0 ptos.)... 1 1.1.2 Apartado B (1.0
Más detallesINFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso 2013-2014. v1.0 (05.03.
INFORMÁTICA Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial Curso 2013-2014 v1.0 (05.03.14) A continuación figuran una serie de ejercicios propuestos, agrupados
Más detallesSolución: exp. 1994. Febrero, primera semana. Paso 1º: Cálculo del campo exponente. Según el apartado a) del primer corolario: 53.
INGENIERÍA TÉCNICA en INFORMÁTICA de SISTEMAS y de GESTIÓN de la UNED. Febrero, primera semana. Obtenga la representación del número 5.7 en formato normalizado IEEE 75 para coma flotante de 6 bits (es
Más detallesEn 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 detallesEn cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.
Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa
Más detallesFORMATO BINARIO DE NÚMEROS NEGATIVOS
FORMATO BINARIO DE NÚMEROS NEGATIVOS Introducción: Como sabemos, con un número n determinado de bits se pueden manejar 2 n números binarios distintos. Hasta ahora hemos trabajado con números binarios puros,
Más detallesTema 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 detallesSISTEMAS NUMERICOS. Ing. Rudy Alberto Bravo
SISTEMAS NUMERICOS SISTEMAS NUMERICOS Si bien el sistema de numeración binario es el más importante de los sistemas digitales, hay otros que también lo son. El sistema decimal es importante porque se usa
Más detallesTEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;
TEMA 5. CONTROL DE FLUJO DEL PROGRAMA 5.1 Sentencias Una sentencia es una expresión seguida de un punto y coma. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ; El ; es obligatorio
Más detallesEl á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 detallesExamen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1
Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1.1 Ejercicio 1: Máquina Expendedora (3.5 ptos.)... 1 1.2 Ejercicio 2: Clase Circulo (1.0 pto.)... 3 1.3 Ejercicio
Más detallesTEMA 1 Representación de la información
TEMA 1 Representación de la información Tema 1: Representación de la información. Aritmética y Representación binaria 1) Introducción BB1, Cap 2, Ap: 2.1, 2.2.1 2) Sistemas binario-octal-hexadecimal BB1,
Más detallesBuceando en los MCUs Freescale...
COMENTARIO TÉCNICO Buceando en los MCUs Freescale... Por Ing. Daniel Di Lella Dedicated Field Application Engineer EDUDEVICES www.edudevices.com.ar dilella@arnet.com.ar Matemática de Punto Flotante Por
Más detallesANEXO 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 detallesUNIDAD 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 detallesTema 2: La clase string
: string Programación 2 Curso 2013-2014 Índice 1 Cadenas de caracteres en C 2 Entrada / salida 3 entre vectores de caracteres y string 4 5 Cadenas de caracteres en C En C, las cadenas de caracteres tienen
Más detallesSERIE DE EJERCICIOS 3
1 SERIE DE EJERCICIOS 3 PARTE I: MANEJO DE VARIABLES Y ARREGLOS. PARA EL MICROCONTROLADOR 18F2550. VERIFIQUE SUS RESPUESTAS USANDO EL SIMULADOR DE MPLAB IDE. 1) Diga que valores hexadecimales se almacenan
Más detallesSebastiá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 detallesEl sistema decimal, es aquél en el que se combinan 10 cifras (o dígitos) del 0 al 9 para indicar una cantidad específica.
5.2 SISTEMAS DE NUMERACIÓN. DECIMAL El sistema decimal, es aquél en el que se combinan 10 cifras (o dígitos) del 0 al 9 para indicar una cantidad específica. La base de un sistema indica el número de caracteres
Más detallesTema 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 detallesInformá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 detallesTaller de Informática I Dpto. Computación F.C.E. y N. - UBA 2010
Detalles de Matlab MATLAB utiliza la aritmética del punto flotante, la cual involucra un conjunto finito de números con precisión finita. Esta limitación conlleva dos dificultades: los números representados
Más detallesLENGUAJE. Tema 1 - Introducción
LENGUAJE Tema 1 - Introducción HISTORIA DEL LENGUAJE C El lenguaje de programación C fue creado por Dennis Ritchie cuando trabajaba en Bell Laboratories de AT&T junto con Ken Thompson en el diseño del
Más detalles8 millares + 2 centenas + 4 decenas + 5 unidades + 9 décimos + 7 céntimos
COLEGIO HISPANO INGLÉS Rambla Santa Cruz, 94-38004 Santa Cruz de Tenerife +34 922 276 056 - Fax: +34 922 278 477 buzon@colegio-hispano-ingles.es TECNOLOGÍA 4º ESO Sistemas de numeración Un sistema de numeración
Más detallesCifras significativas e incertidumbre en las mediciones
Unidades de medición Cifras significativas e incertidumbre en las mediciones Todas las mediciones constan de una unidad que nos indica lo que fue medido y un número que indica cuántas de esas unidades
Más detallesEl lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */
Principios de Programación El lenguaje C 1. Variables locales y globales 1.1. Variables locales Las funciones permiten al programador modularizar un programa. Todas las variables declaradas en las definiciones
Más detallesPresentación. Programación I. Conceptos Avanzados de Programación. :: Prof. Yeniffer Peña
Presentación Conceptos Avanzados de Programación :: Prof. Yeniffer Peña Unidad I: Conceptos Avanzados de Programación Recursividad: El concepto de recursividad va ligado al de repetición. Son recursivos
Más detallesTEMA 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 detalles1 Estructura básica de un programa C++
Elementos básicos de un lenguaje de alto nivel: C++ CONTENIDOS 1. Estructura básica de un programa C++. 2. Tipos de datos simples. 3. Constantes y variables en C++. Declaración. 4. Operadores y expresiones.
Más detallesTEMA 2 REPRESENTACIÓN BINARIA
TEMA 2 REPRESENTACIÓN BINARIA ÍNDICE. INTRODUCCIÓN HISTÓRICA A LA REPRESENTACIÓN NUMÉRICA 2. REPRESENTACIÓN POSICIONAL DE MAGNITUDES 2. Transformaciones entre sistemas de representación (cambio de base)
Más detallesEstructura 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 detallesTEMA 4. Sistema Sexagesimal. Sistema Octal (base 8): sistema de numeración que utiliza los dígitos 0, 1, 2, 3, 4, 5,
TEMA 4 Sistema Sexagesimal 4.0.- Sistemas de numeración Son métodos (conjunto de símbolos y reglas) ideados por el hombre para contar elementos de un conjunto o agrupación de cosas. Se clasifican en sistemas
Más detallesSistemas de numeración, operaciones y códigos
Sistemas de numeración, operaciones y códigos Slide 1 Sistemas de numeración Slide 2 Números decimales El sistema de numeración decimal tiene diez dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, y 9 Es un sistema
Más detallesProgramación en C++/Funciones
Programación en C++/Funciones 1 Programación en C++/Funciones Estructuras Streams Funciones Definiendo una función Una función es un conjunto de líneas de código que realizan una tarea específica y puede
Más detallesTrabajo Práctico Nº 1 SISTEMAS DE NUMERACION
Trabajo Práctico Nº 1 SISTEMAS DE NUMERACION 66.70 Estructura del Computador OBJETIVOS: Elementos que definen un sistema numérico. Conversiones entre sistemas. Diferentes formas de representar números
Más detallesTema 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 detallesObjetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.
Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la
Más detalles1.1 Sistema de numeración binario
1.1 Sistema de numeración binario Un sistema de numeración consta de: Un conjunto ordenado de cifras y un conjunto de operaciones. Llamaremos Base al número de cifras que hay en dicho conjunto. De este
Más detallesMateria 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 detallesTEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN
TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN 4.1 Definiciones y palabras reservadas básicas del C El lenguaje C++ está compuesto por: 32 palabras clave (estándar ANSI), comunes a todos los compiladores de
Más detallesIntroduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia
Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por
Más detallesPara leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.
CICLO: 01/2010 Universidad Don Bosco Materia: Lenguaje de Programación III Contenido: 1-Lectura de Datos de entrada. 2-Introduccion a JOPTIONPANE. 3-Estructuras de Control. ->LECTURA DE DATOS DE ENTRADA
Más detallesSistemas de numeración y aritmética binaria
Sistemas de numeración y aritmética binaria Héctor Antonio Villa Martínez Programa de Ciencias de la Computación Universidad de Sonora Este reporte consta de tres secciones. Primero, la Sección 1 presenta
Más detallesVariables y tipos de datos
Programación científica Variables y tipos de datos Dra. Elisa Schaeffer elisa.schaeffer@gmail.com PISIS / FIME / UANL Variables y tipos de datos p. 1 Variable Una variable es efectivamente un espacio en
Más detallesPor ejemplo convertir el número 131 en binario se realiza lo siguiente: Ahora para convertir de un binario a decimal se hace lo siguiente:
Como convertir números binarios a decimales y viceversa El sistema binario es un sistema de numeración en el que los números se representan utilizando 0 y 1. Es el que se utiliza en los ordenadores, pues
Más detalles21/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 detallesEjercicio 1 (2 puntos. Tiempo: 25 minutos)
Fecha de publicación de notas: jueves 18 de Julio. Fecha de revisión: viernes 19 de Julio a las 10:00h. Despacho C-209. Ejercicio 1 (2 puntos. Tiempo: 25 minutos) Se desea desarrollar un programa en C
Más detallesMatemá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 detallesLlamamos potencia a todo producto de factores iguales. Por ejemplo: 3 4 = 3 3 3 3
1. NÚMEROS NATURALES POTENCIAS DE UN NÚMERO NATURAL Llamamos potencia a todo producto de factores iguales. Por ejemplo: 3 4 = 3 3 3 3 El factor que se repite es la base, y el número de veces que se repite
Más detallesEstructura de Datos [Tipos de datos concretos y tipos de datos abstractos]
Estructura de Datos [Tipos de datos concretos y tipos de datos abstractos] M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 14-O Sergio Luis Pérez (UAM CUAJIMALPA) Curso de Estructura
Más detallesSistemas de numeración
Sistemas de numeración Un sistema de numeración es un conjunto de símbolos y reglas que permiten representar datos numéricos. Los sistemas de numeración actuales son sistemas posicionales, que se caracterizan
Más detallesLección 1. Representación de números
Lección 1. Representación de números 1.1 Sistemas de numeración Empecemos comentando cual es el significado de la notación decimal a la que estamos tan acostumbrados. Normalmente se escribe en notación
Más detallesTEMA 1: SISTEMAS INFORMÁTICOS. Parte 2: representación de la información
TEMA 1: SISTEMAS INFORMÁTICOS Parte 2: representación de la información Qué vamos a ver? Cómo se representa y almacena la información en un ordenador Cómo podemos relacionar la información que entendemos
Más detallesAritmética Binaria. Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid
Aritmética Binaria Luis Entrena, Celia López, Mario García, Enrique San Millán Universidad Carlos III de Madrid 1 Índice Representación de números con signo Sistemas de Signo y Magnitud, Complemento a
Más detalles2. Desde los transistores hasta los Circuitos Integrados 3Sit 3. Sistemas de representación numérica éi 4. Números con signo
Electrónica Digital: Introducción 1Sñl 1. Señales Analógicas lói Sñl Señales Diitl Digitales 2. Desde los transistores hasta los Circuitos Integrados 3Sit 3. Sistemas de representación numérica éi 4. Números
Más detalles