sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #22161
Re: VFAT og store filer
Mads Bondo Dydensborg <madsdyd@xxxxxxxxxxxx> wrote in message
news:Pine.LNX.4.21.0005021531350.3299-100000@xxxxxxxxxxxx...
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)
korrekt..... :-) (endelig en ting man kan være sikker på)
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
Hva helvede...Sidder du omgivet af alverden maskiner ?????
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.
Mener bestemt at C++ og C er kompatipel hvad angår datatype størrelse.
Desuden skal du hukse på at en C compiler til en powerPC opfatter datatyper
anderledes end en C compiler til en x86 CPU.
Derfor kan man heller ikke bare portere sit C/C++ program..
Ja..det er ikke engagn sikkert man kan tage source koden og kompilere den på
en anden CPU, da der så kan gå evt ged i nogle udregninger, da størrelsen er
anderledes på en anden type CPU. Især nær man shifter bit's kan det gå galt
Mads
--
Mads Bondo Dydensborg. madsdyd@xxxxxxxxxxxx
My shell can beat your shell. So there!
Follow ups
References