Unë jam i ri për programim. Cili është ndryshimi midis sistemeve 32-bit dhe 64-bit? Farë duhet të konsideroj kur shkruaj një program C ++?


përgjigje 1:

Ajo që saktësisht përfaqëson një sistem N-bit nuk është gjithmonë dakord. Unë personalisht imagjinoj një sistem kompjuterik, regjistrat univerzalë të CPU-së të të cilit janë me madhësi N bit.

Për shembull, kompjuteri im i dytë kishte një CPU Motorola 68008: ai kishte regjistra 32-bitësh, por punonte vetëm brenda vendit me 16 bit (gjysmë regjistri) dhe komunikonte vetëm jashtë me memorjen në 8 bit në një kohë. Edhe pse pjesë e një familje CPU 32-bit, nganjëherë quhej CPU 8/16/32 bit. Sipas përcaktimit tim, është një CPU 32-bitësh.

Intel i486 gjithashtu ka regjistra universale 32-bit, por edhe regjistrime të pikave lundruese 80-bit: megjithatë, askush nuk e konsideron atë si një kompjuter 80-bit.

Kur shkruani C ++, në përgjithësi mbroheni nga të gjithë këta sportelet bit, por këto reflektohen në madhësinë, orientimin dhe gamën e disa llojeve themelore. Për shembull, int është zakonisht një lloj i plotë 32-bitësh dhe i gjatë është pothuajse gjithmonë një lloj numër i plotë 64-bitësh. Në varësi të platformës, mund të jetë gjithashtu e gjatë. Përveç kësaj, treguesit janë zakonisht 4 bajtë në platformat 32-bit dhe 8 bajtët e gjatë në platformat 64-bit (dhe kjo shpesh është avantazhi kryesor i sistemeve 64-bit mbi sistemet 32-bit: ato mund të vijnë për shkak të faktorëve të mëposhtëm me shume tregues te gjere te adreses RAM).