2010-08-14 5 views
3

Je suis un programmeur assez nouveau et je me demandais si quelqu'un pouvait me donner une explication pratique/exemple sur les différences et les utilisations entre travailler avec signé, non signé et 32 ​​bits vs 64 bits?Exemple pratique de 32 bits non signés, signés, différences de 64 bits

Par exemple, j'ai lu un article sur la façon dont Twitter a fait passer les développeurs à 64 bits l'année dernière, mais je n'étais pas sûr du raisonnement et de la nature spécifique de ce changement.

Merci!

Répondre

2

Pour n bits, vous pouvez avoir 2^n nombres différents représentés par ces bits. Donc, les nombres non signés de 32 bits vont de 0 à 4.294.967.295 (2^32-1, le -1 est parce que 0 est un nombre valide). Les chiffres signés divisent les 4 milliards entre le positif et le négatif. Les ordinateurs 32 bits l'utilisent dans leurs adresses mémoire, ce qui signifie qu'un programme peut accéder nativement à 4 Go de mémoire. Les ordinateurs 64 bits ont une limite de 2^64, ce qui est beaucoup, beaucoup plus élevé.

Vous utilisez également cette limite de 4 milliards si vous utilisez des nombres 32 bits pour représenter d'autres éléments, comme par exemple des utilisateurs, des tweets ou des secondes depuis une certaine date. Donc 32 bits fonctionne bien jusqu'à une certaine échelle, puis au-dessus, même s'il existe des moyens de contourner la limite, il est plus logique d'aller en 64 bits.

L'inconvénient est qu'il faut deux fois plus de mémoire pour stocker vos numéros.

Questions connexes