Olen programmeerimises uus. Mis vahe on 32-bitisel ja 64-bitisel süsteemil, mida peaksin teadma C ++ programmi kirjutades?


Vastus 1:

Mis täpselt moodustab N-bitise süsteemi, ei ole alati kokku lepitud. Isiklikult pean seda arvutisüsteemiks, mille keskseadete üldotstarbelised registrid on N bitti laiad.

Näiteks minu teisel arvutil oli Motorola 68008 protsessor: sellel olid 32-bitised registrid, kuid sisemiselt töötas see korraga ainult 16 bitil (pool registrit) ja väliselt suhtles mälu vaid 8 bitti korraga. Ehkki see oli osa 32-bitisest CPU-perekonnast, kutsuti seda mõnikord 8/16/32-bitiseks CPU-ks. Minu määratluse järgi on see 32-bitine protsessor.

Samamoodi on Intel i486-l 32-bitised üldotstarbelised registrid, kuid sellel on ka 80-bitiseid ujukomaga registreid: keegi ei pea seda siiski 80-bitiseks arvutiks.

C ++ kirjutamisel olete üldiselt kõigi nende bittide arvu eest kaitstud, kuid need kajastuvad mõne põhitüübi suuruses, joonduses ja vahemikus. Nt, tavaliselt on int 32-bitine täisarv ja pikk pikk on enamasti 64-bitine täisarv. Pikk võib sõltuvalt platvormist olla üks neist. Tavaliselt on osutid 32-bitistel platvormidel 4 baiti pikad ja 64-bitistel platvormidel 8 baiti pikad (ja see on sageli 64-bitiste süsteemide peamine eelis 32-bitiste süsteemide ees: nad saavad rohkem mälu käsitleda, kuna laiemad osutused).