Representacion de Bajo Nivel y Alto Nivel de Datos

REPRESENTACIÓN DE BAJO NIVEL Y ALTO NIVEL DE DATOS. Introducción Un lenguaje de programación es un idioma artificial dis

Views 145 Downloads 0 File size 55KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

REPRESENTACIÓN DE BAJO NIVEL Y ALTO NIVEL DE DATOS. Introducción Un lenguaje de programación es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana. Está formado de un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. En este tema aplicaremos solamente caracteres para poder armar nuestro programa. Las constantes enteras representan un int, y pueden estar expresadas en los sistemas de numeracion decimal octal o hexadecimal. En ausencia de ningún sufijo, el tipo de una constante entera se deduce de su valor según se muestra en las tablas que sigue: Observese que las reglas para las constantes decimales son distintas del resto. Decimal: se permiten constantes enteras en formato decimal dentro del rango 0 a 4,294,967,295; las que excedan este limite serán truncadas. Obsérvese que las constantes decimales no puedan comenzar con 0, porque serian interpretadas como octales. int i = 10; // decimal 10 Int i =010; // decimal 8 (octal 10) Int i=0; // decimal 0 = octal 0 Tipos adoptados por las constantes decimales en función del valor declarado (en ausencia de sufijos L o U) 0 32,768 2,147,483,648 >4294967295

a 32,767 a 2,147,483,647 a 4294967295

Int Long Unsigned long Truncado

Octal Todas las constantes que empiecen por 0 se suponen en octal. Si una constante de este tipo contiene digitos ilegales (8 o 9), se produce un mensaje de error; como se indica en la tabla adjunta, las que exceden del valor máximo 037777777777 son truncadas. Tipos adoptados por las constantes octales en función del valor declarado ( en ausencia de sufijos L o U).

00 010000 02000000 020000000000 >037777777777

a 077777 a 0177777 a 017777777777 a 017777777777

int Unsigned int Long Unsigned long truncado

Hexadecimal Cualquier constante que comience po 0x o 0X es considerada hexadecimal, después se puede incluir los digitos validos (0…9, a…f, A…F). como se indica en el cuadro adjunto, las que excedan del valor máximo 0*FFFFFFFF son truncadas. Tipos adoptados por las constantes hexadecimales en función del valor declarado ( en ausencia de sufijos L o U). 0*0000 a 0*7FFF int 0*8000 a 0*FFFF Unsigned int 0*10000 a 0*7FFFFFFF Long 0*80000000 a 0*FFFFFFFFF Unsigned long >0*FFFFFFFF truncado Una constante carácter es uno o mas caracteres delimitados por comillas simples, como ‘A’, ‘+’, o ‘\n’. en c++, son de un tipo especifico: char del que existen 2 versiones, signed y unsigned. El valor por defecto, el que se supone cuando no se indica nada en concreto ( char a secas depende del compilador, pero puede ser seleccionado. Los 3 tipos char Las constantes de un carácter, tales como ‘A’,’\t’ y ‘007’, son representados como valores enteros, int (signed). En estos casos, si el valor es mayor que 127, el bit mas alto es puesto a-1 (=0*FF), es decir, las constantes carácter cuyo valor ASCII es mayor de 127 se representan como numeros negativos, aunque esto puede ser desactivado declarando que los caracteres son unsigned por defecto. Cualquiera de los 3 tipos carácter, char, signed char y unsigned char, se almacenan en 8-bits (un byte). En los programas a c++, una función puede ser sobrecargada con argumentos de cualquiera de los 3 tipos: char, signed char y unsigned char (porque son tipos distintos para el compilador). Por ejemplo, los siguientes prototipos de funciones son validos y distintos:

void func (char ch); void fun.(signed char ch); void func(unsigned char ch);

Constantes reales Estas se conforman por una parte entera, seguida por un punto decimal y una parte fraccionaria . se permite la notacion científica, en cuyo caso se añade el valor una e o E, seguida por un exponente positivo o negativo. parte entera.parte fraccionaria De lo anterior, decimos que los digitos representan 0 o mas digitos del 0 al 9 y E o e es el símbolo de exponente de la base 10 que puede ser positivo o negativo . Si la constante real es positiva no es necesario especificar el signo es negativa lleva el signo (-). Ejemplos: -17.24 y 17.244283 una constante real tiene tipo double, a menos que se introduzca en ella una f o F ya que en tal caso indicara que es de tipo flotante o una l o L que indicara que es un tipo de long double. El tipo real consiste en un subconjunto de los numeros reales. Los numeros reales siempre tienen un punto decimal y pueden ser positivos o negativos. Un numero real consta de un entero y una parte decimal.

Ejemplo de representacionde alto y bajo nivel #include #include #include int main() { char cadena[100]; char *pcad; char *pcad2;

int longitud=0; cout