Det eksisterer ikke, og eksitstere generelt slet ikke i noget programmerings sprog (ikke dermed sagt at der ikke er undtagelser).
Mulige integer typer i Objective Pascal (Delphi):
En integer type vil altid enten være 8, 16, 32 eller 64 bit lang. Hvis du f.eks. skriver:
T10BitInt = 0..1023;
Vil det blot blive rundet opad, således at T10BitInt faktisk fylder 16 bit. Du vil dog få det ud af det, at du får en compile time error, hvis du forsøger at sætte det til en værdi uden for området. (og runtime error hvis du kompilerer med runtime range check (mener det er +R))
Så længe du kun skal holde det byte-alignet kan du lave en record:
type
TMyRecord = Record
Field1: Byte;
Field2: Integer;
Field3: Word;
end;
Hvis summen af størrelsen på felterne ikke er et multiplum af 32, skal du skrive packed foran record. Bemærk dog at det vil kunne nedsætte din performance betydeligt.
type
TMyRecord = Packed Record
Field1: Byte;
Field2: Word;
Field3: Int64;
end;
[Redigeret d. 22/09-05 16:23:42 af Kasper Fabæch Brandt]