Ver Mensaje Individual
  #2  
Antiguo 16-06-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 24
seoane Va por buen camino
No te calientes la cabeza, la función Sizeof te devuelve el tamaño en bytes de cualquier variable, o tipo. Por ejemplo:
Código Delphi [-]
  ShowMessage(IntToStr(Sizeof(Real)));

Y sino también puedes mirar la ayuda:
Código:
Type		Range					digits		Size in bytes
Real48		2.9 x 10^-39 .. 1.7 x 10^38		11-12		6
Single		1.5 x 10^-45 .. 3.4 x 10^38		7-8		4
Double		5.0 x 10^-324 .. 1.7 x 10^308		15-16		8
Extended	3.6 x 10^-4951 .. 1.1 x 10^4932		19-20		10
Es mejor que te acostumbres a usar Sizeof, porque a veces pasan cosas curiosas como esta:
Código Delphi [-]
var
  Ejemplo: record
    i: Integer;
    b: byte;
  end;
begin
  ShowMessage(IntToStr(Sizeof(Ejemplo)));
end;
Según la tabla anterior el tamaño del record debería de ser de 5 bytes, pero sin embargo como veras en el mensaje es de 8. Esto es debido a la "optimización" que realiza el compilador. Y sin embargo:
Código Delphi [-]
var
  Ejemplo: packed record
    i: Integer;
    b: byte;
  end;
begin
  ShowMessage(IntToStr(Sizeof(Ejemplo)));
end;
Ahora el record si que mide 5 bytes, curioso ¿verdad?
Responder Con Cita