Representacion de Bajo Nivel y Alto Nivel de Datos

4
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 a 32,767 Int 32,768 a 2,147,483,647 Long 2,147,483,648 a 4294967295 Unsigned long >4294967295 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).

Transcript of Representacion de Bajo Nivel y Alto Nivel de Datos

Page 1: 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 diseñado para expresarcomputaciones 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 deuna máquina, para expresar algoritmos con precisión, o como modo de comunicaciónhumana. Está formado de un conjunto de símbolos y reglas sintácticas y semánticas quedefinen 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 sistemasde numeracion decimal octal o hexadecimal. En ausencia de ningún sufijo, el tipo de unaconstante 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 a4,294,967,295; las que excedan este limite serán truncadas. Obsérvese que lasconstantes decimales no puedan comenzar con 0, porque serian interpretadas comooctales.

int i = 10; // decimal 10Int 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 (enausencia de sufijos L o U)

0 a 32,767 Int32,768 a 2,147,483,647 Long

2,147,483,648 a 4294967295 Unsigned long>4294967295 Truncado

Octal

Todas las constantes que empiecen por 0 se suponen en octal. Si una constante de estetipo contiene digitos ilegales (8 o 9), se produce un mensaje de error; como se indica enla 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 ausenciade sufijos L o U).

Page 2: Representacion de Bajo Nivel y Alto Nivel de Datos

00 a 077777 int010000 a 0177777 Unsigned int

02000000 a 017777777777 Long020000000000 a 017777777777 Unsigned long

>037777777777 truncado

Hexadecimal

Cualquier constante que comience po 0x o 0X es considerada hexadecimal, después sepuede 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 ( enausencia de sufijos L o U).

0*0000 a 0*7FFF int0*8000 a 0*FFFF Unsigned int

0*10000 a 0*7FFFFFFF Long0*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 enconcreto ( 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 comovalores enteros, int (signed). En estos casos, si el valor es mayor que 127, el bit masalto es puesto a-1 (=0*FF), es decir, las constantes carácter cuyo valor ASCII es mayorde 127 se representan como numeros negativos, aunque esto puede ser desactivadodeclarando que los caracteres son unsigned por defecto.

Cualquiera de los 3 tipos carácter, char, signed char y unsigned char, se almacenan en8-bits (un byte).

En los programas a c++, una función puede ser sobrecargada con argumentos decualquiera de los 3 tipos: char, signed char y unsigned char (porque son tipos distintospara el compilador). Por ejemplo, los siguientes prototipos de funciones son validos ydistintos:

Page 3: Representacion de Bajo Nivel y Alto Nivel de Datos

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 partefraccionaria . se permite la notacion científica, en cuyo caso se añade el valor una e oE, 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 esel 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 esnegativa 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 yaque en tal caso indicara que es de tipo flotante o una l o L que indicara que es un tipode long double.

El tipo real consiste en un subconjunto de los numeros reales. Los numeros realessiempre tienen un punto decimal y pueden ser positivos o negativos. Un numero realconsta de un entero y una parte decimal.

Ejemplo de representacionde alto y bajo nivel

#include<iostream.h>#include<string.h>#include<conio.h>

int main(){char cadena[100];char *pcad;char *pcad2;

Page 4: Representacion de Bajo Nivel y Alto Nivel de Datos

int longitud=0;

cout<<"Dame una cadena"<<endl;cin.getline(cadena,100);

pcad=cadena;longitud= cadena;pcad2= pcad+(longitud-1);

while(pcad2!=pcad){cout<<pcad2<<endl;pcad2--;}cout<<*pcad<<endl<<endl;returno 0;}