Hogy működik C-ben az int?
Azért mert az int 4 bájtos a mai gépeken, (2^31)-1 -ig tudja tárolni a számokat:
[−2147483647,+2147483647]
Gyakorlatban 32 biten nincs. A specifikáció csak a minimális méretüket adja meg, ezért előfordulhat hogy nem mindenhol egyezik meg a méretük.
Ha ennél nagyobb kell akkor a "long long" kell neked vagy ezeknek az unsigned változatai.
A long long int 9223372036854775807-ig tud számot tárolni.
Itt van pontosan melyik hány bites az adott architektúrán.
Tehát a szabvány szerint:
short : legalább 16 bit
int : legalább 16 bit
long : legalább 32 bit
long long : legalább 64 bit
Az int típus kb az adott platform leggyorsabb egész típusát jelenti, gyakorlatilag ez 32 bit (szinte) mindenhol (Windows-on garantáltan mindenhol). A long mára már csak egy hagyaték típus. A tényleges 64 bites egész a 'long long', ahogy előttem is írták.
Ezt az alakot sokan nem szeretik mert feleslegesen hosszú, érdemes ezért használni az inttypes.h, ahol egyértelműen jól ki van írva az egész előjelessége és mérete.
Konkrétan ezt most Wikipédiáról néztem ki:
A tankönyvet is netről szedtem le, "C programozás középiskolásoknak", az is 16 bitesnek írja.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!