Programavimo pradžiamokslis - kuo skiriasi 32 bitų ir 64 bitų sistema, ką turėčiau žinoti rašydamas C ++ programą?


Atsakymas 1:

Kas tiksliai sudaro N bitų sistemą, ne visada sutariama. Aš asmeniškai manau, kad tai kompiuterinė sistema, kurios centrinių procesorių bendrosios paskirties registrai yra N bitų pločio.

Pavyzdžiui, mano antrasis kompiuteris turėjo „Motorola 68008“ centrinį procesorių: jis turėjo 32 bitų registrus, tačiau viduje veikė tik 16 bitų (pusė registro) vienu metu, o išoriškai palaikė atmintį tik 8 bitus vienu metu. Taigi, nors tai buvo 32 bitų CPU šeimos dalis, jis kartais buvo vadinamas 8/16/32 bitų CPU. Mano apibrėžimu, tai yra 32 bitų procesorius.

Panašiai „Intel i486“ turi 32 bitų bendrosios paskirties registrus, tačiau taip pat turi 80 bitų slankiojo kablelio registrus: vis dėlto niekas nelaiko jo 80 bitų kompiuteriu.

Rašydami „C ++“, jūs paprastai esate apsaugoti nuo visų šių bitų skaičiaus, tačiau jie atsispindi kai kurių pagrindinių tipų dydyje, suderinime ir diapazone. Pvz., Paprastai int yra 32 bitų sveikųjų skaičių tipas, o ilgasis ilgas beveik visada yra 64 bitų sveikųjų skaičių tipas. Tačiau ilgas gali būti bet kuris, priklausomai nuo platformos. Be to, paprastai rodyklės bus 4 baitų ilgio 32 bitų platformose ir 8 baitų ilgio 64 bitų platformose (ir tai dažniausiai yra pagrindinis 64 bitų sistemų pranašumas prieš 32 bitų sistemas: jie gali skirti daugiau atminties, nes platesni rodyklės).