Professional Documents
Culture Documents
La palabra clave struct define una estructura. Por tratarse de un tipo de datos
puede utilizarse directamente para definir una variable. Lo que se encuentra dentro de
las llaves es una definicin tpica de variables con su tipo y su identificador.
Ejemplos.
struct punto
{
float x;
float y;
int
color;
} punto_de_fuga;
Aqu estamos definiendo una variable llamada punto_de_fuga cuyo tipo es una
estructura de datos formada por tres campos y a la que hemos llamado punto.
Para aclarar el uso del tipo unin de XDR, se presenta, a continuacin, un ejemplo.
Supngase que se quiere definir un servicio RPC denominado read, que devuelve un
valor Booleano que indica si la operacin se realiz con xito. En caso afirmativo, la
funcin devuelve los datos ledos. El tipo XDR que define el valor devuelto por esa
funcin de servicio podra ser el siguiente:
Union read_res switch (bool exito) {
case FALSE: void;
case TRUE: opaque datos<>;
};
Ntese que, suponiendo que tenemos una variable de ese tipo llamada resultado,
para acceder a los datos habra que especificar lo siguiente:
resultado.read_res_u.datos
Tipos enumerados. Un tipo enumerado o enumeracin est construido por una serie
de constantes simblicas enteras. Los tipos enumerados se tratan de modo ligeramente
diferente en C++. El nombre de la etiqueta enum se considera como un nombre de tipo
igual que las etiquetas de struct y unin. Por tanto se puede declarar una variable de
enumeracin, estructura o unin sin utilizar las palabras enum, strcut o union.
Elementos Bsicos.
Ya sabemos que en los algoritmos aparecen objetos que tienen tres caractersticas:
Nombre.
Tipo.
Valor:
Variables.
Constantes.
Tipo:
Objeto:
Cardinalidad:
Operadores bsicos:
Tipos simples:
Predefinidos (N, Z, R, C, B)
Definidos por el programador (enumerado y subrango)
Tipos estructurados.
Arrays
Cadenas de Caracteres
Registros
Tipo real
2)
| OR inclusivo de bits
3)
^ OR exclusivo de bits
4)
5)
6)
AND (&)
La funcin AND activa los bits resultantes cuando los bits de los dos operandos
son 1, de otra forma el resultado es =. Entonces si se coloca en lnea los dos operandos y
se realiza la funcin AND, se puede ver que los dos bits de mayor peso (los bits
situados mas a la izquierda de cada numero) son 1, as los bits resultantes de cada uno
es 1. Los dos bits de menor peso se evalan a 0 porque al menos uno de los dos
operandos es 0:
1101
& 1100
1100
OR
La operacin OR inclusiva (|) significa que si uno de los dos operandos es 1 el
resultado es 1.
000
011
111
Corrimiento de bits
Complemento a uno
El operador unario ~ da el complemento a uno de un entero; esto es, convierte
cada bit 1 en un bit 0 y viceversa. Por ejemplo:
Operador Resultado
10
01
OR
XOR
0101
0101
0101
0011
0011
0011
Resultado:
0001
0111
0110
AL,BH
BH,AL
AL,AL