2009-06-16 12 views

Répondre

9

C'est le type que je choisirais. Il correspond au type long dans C# (un nombre de 64 bits), et c'est le même type que Windows utilise pour stocker les tailles de fichiers.

+4

Oh et parce que Microsoft l'utilise, ça doit être la bonne façon de le faire! JK! ;-) – Kredns

+0

Ai-je détecté un snark? –

+4

@Lucas, pas parce que MS l'utilise, juste parce que c'est un nombre raisonnablement grand (MS est un effet ici, pas la cause). Est-ce que * vous * avez un seul fichier avec 10 exaoctets? Voyons voir, j'ai un disque externe terabyte newfangled (coût ~ ~ 100 $). Pour stocker un fichier aussi volumineux, il faudrait un million de lecteurs - ma maison * et * mon compte en banque est trop petit pour cela. [J'ai vu votre smiley :-)] – paxdiablo

2

Un entier de 64 bits est tout ce dont vous avez besoin.

Si bigint a une valeur maximale de 9.223.372.036.854.775.807, cela suggère un entier signé de 64 bits, ce qui est parfaitement adéquat. De la description, il ne semble pas que les entiers 32 bits fassent ce dont vous avez besoin, donc à moins que vous ayez réellement besoin de supporter des tailles plus grandes que 9.223.372.036.854.775.807, alors bigint est la forme la plus efficace que vous puissiez éventuellement choisir.

Si vous aviez besoin de plus grandes valeurs (je ne peux pas imaginer pourquoi), alors vous auriez besoin de le stocker sous forme de chaîne ou de trouver une bibliothèque de grand nombre qui utiliserait autant d'octets que nécessaire pour stocker le nombre (c'est-à-dire, n'a pas de taille maximale).

Questions connexes