2017-08-24 8 views
0

J'ai du mal à comprendre d'où vient le chiffre de 4 Go lorsque j'essaie d'estimer la quantité de mémoire dont vous avez besoin pour stocker tous les entiers 32 bits.Pourquoi un tableau de tous les entiers 32 bits nécessite 4 Go?

Un type de données entier de 32 bits a 32 bits pouvant être définis sur 1 ou 0 par bit. C'est 2^32 représentations possibles. Et chaque représentation nécessite 32 bits, pour un total de 32 * 2^32 bits requis, ou 2^5 * 2^32 = 2^37 bits.

Et 2^37 bits est d'environ 17 Go, pas 4 Go.

Où est-ce que je me trompe?

+0

Avez-vous une source pour le chiffre de 4 Go? Votre travail semble raisonnable en un coup d'oeil. –

+0

A propos de "où le chiffre de 4 Go vient en essayant d'estimer" _ comment vous estimez? Combien d'entiers individuels de 32 bits stockez-vous? D'où vient le '2^5' dans' 2^5 * 2^32 = 2^37'? –

Répondre

0

Votre 4 Go est-il réellement de 4,2 Go?

Vous pouvez voir le nombre 4,294,967,295 utilisé comme valeur maximale pour 32-bit integers.

En effet, (si vous utilisez comme non signés octets):

La formule est correcte: (2^32) − 1 = 4294967295.