← Back to team overview

sslug-teknik team mailing list archive

Re: VFAT og store filer

 

On Tue, 2 May 2000, Thomas wrote:

> Herfra hvor jeg sidder ser det altså temmeligt meget ud til at en unsigned
> long er 4 bytes == 32 bit på en 686, som jo burde være et OK eksemplar af
> den type maskiner vi snakker om.
> 
> mmh..ser sådan ud :-)
> 
> Er vi enig om, at en int er 32 bit ??????

På en i386, ja. 

> dvs du siger at long = 32 bit = int ?????  Hvorfor fanden så bøvle med en
> long eller int :-)

Du har følgende garantier:

sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long)

Det er det hele.

På en i386 (og HPUX 7xx og Sun ultrasparc, så vidt jeg kan se)

sizeof char 1
sizeof short 2
sizeof int 4
sizeof long 4
sizeof long long 8

På en alpha 

sizeof char 1
sizeof short 2
sizeof int 4
sizeof long 8
sizeof long long 8

Så, derfor bøvler man med long.

Under C++ er sizeof(char) 1 fordi alle størrelser måles som multipla af
sizeof(char). Det er du, så vidt jeg ved, ikke engang garanteret under C,
hvor størrelser måles i bytes, altså, du kunne have at sizeof(char) = 2,
f.eks. Spooky.

Mads

-- 
Mads Bondo Dydensborg.                               madsdyd@xxxxxxxxxxxx
My shell can beat your shell. So there!



Follow ups

References