ADA - Operaciones a bajo nivel en ADA 95

 
Vista:

Operaciones a bajo nivel en ADA 95

Publicado por Peterax (1 intervención) el 24/05/2005 00:18:07
Hola, me gustaria saber, como puedo utilizar almacenamiento a nivel de bit, es decir, almacenar un array de bits pero no como se hace convencionalmente, sino en vez de ocupar un byte cada posicion del array conteniendo un tipo enumerado TipoBit, que ocupe solo un bit de la maquina. Todo esto es por problemas de sobrecarga de la memoria ya que manejo grandes cantidades de datos.
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Operaciones a bajo nivel en ADA 95

Publicado por Gneuromante (24 intervenciones) el 04/06/2005 16:24:56
Te recomiendo usar arrays de booleanos empaquetados.

type Bits is array (Natural range <>) of Boolean;
pragma Pack (Bits);

subtype Byte is Bits (0 .. 7);

Y recuerda que sobre los arrays de booleanos puedes usar los operadores lógicos: and, or y xor.

---
Página del canal Ada de IRC Hispano: http://www.canalada.org
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Operaciones a bajo nivel en ADA 95

Publicado por Paris (1 intervención) el 07/06/2005 07:43:14
Para cada tipo que utilices puedes definir la posicion de los elementos que o componen y su tamaño, un ejemplo:

type X_int is mod 256;
for X_int'size use 8;

type Something is
record
x : X_int := 0;
y : X_int := 0;
end record;

for Something use
record
x at 0;
y at 8;
end record;

Para la entrada y la salida aunque definas objetos con tamaños inferiores a un byte, no se puede trabajar con ellos por lo que te veras obligado a agruparlos.
Te recomiendo que mires el Language Reference Manual
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar