Saya baru untuk pengaturcaraan, apakah perbezaan antara sistem 32-bit dan 64-bit, apa yang perlu saya ketahui ketika menulis program C ++?


Jawapan 1:

Apa sebenarnya yang membentuk sistem N-bit tidak selalu disepakati. Secara peribadi, saya fikir ia sebagai sistem komputer yang daftar guna umum CPU adalah N bit.

Sebagai contoh, komputer kedua saya mempunyai CPU Motorola 68008: Ia mempunyai daftar 32-bit, tetapi secara dalaman hanya dikendalikan pada 16 bit (setengah daftar) pada satu masa, dan secara luaran disampaikan dengan memori hanya 8 bit pada satu masa. Jadi, walaupun ia adalah sebahagian daripada keluarga CPU 32-bit, kadangkala dipanggil CPU 8/16/32-bit. Dengan definisi saya, ia adalah CPU 32-bit.

Begitu juga, Intel i486 mempunyai daftar kegunaan umum 32-bit tetapi ia juga mempunyai daftar terapung-terapung 80-bit: Tidak seorang pun menganggapnya sebagai komputer 80-bit.

Apabila anda menulis C ++, anda biasanya dilindungi dari semua bilangan bit ini, tetapi ia dicerminkan dalam saiz, penjajaran dan pelbagai jenis asas. Contohnya, selalunya int akan menjadi jenis integer 32-bit dan panjang panjang hampir selalu jenis integer 64-bit. Walau bagaimanapun, lama boleh menjadi salah satu, bergantung kepada platform. Juga, biasanya, petunjuk adalah 4 bait panjang pada platform 32-bit dan 8 bait panjang pada platform 64-bit (dan itu sering kelebihan utama sistem 64-bit ke atas sistem 32-bit: mereka boleh menangani lebih banyak memori kerana lebih banyak petunjuk).