Quelle est la valeur maximale de NSInteger?
J'ai besoin de stocker la valeur maximale d'un NSInteger dans un NSInteger? Quelle est la bonne syntaxe pour le faire?
Grâce.
Vous devez vous connecter pour publier un commentaire.
J'ai besoin de stocker la valeur maximale d'un NSInteger dans un NSInteger? Quelle est la bonne syntaxe pour le faire?
Grâce.
Vous devez vous connecter pour publier un commentaire.
La valeur maximale d'un NSInteger est NSIntegerMax.
NSUIntegerMax
/ULONG_MAX
et trouvé cette réponse.NSUIntegerMax
est4294967295
toutNSIntegerMax
est2147483647
sur les systèmes 32 bits. Parfois, la valeur elle-même est utile, par exemple, lorsque vous voulez comprendre si il est possible de dépasser l'ID tapé comme un entier.NSIntegerMin
La valeur maximale pour un NSInteger est
NSIntegerMax
(à partir de Fondation Des Constantes De Référence)
M'a fallu un peu de temps pour moi pour comprendre pourquoi j'ai été prendre une valeur différente de NSIntegerMax lors de l'utilisation de NSUInteger!!
Et au maximum pour un NSUInteger est NSUIntegerMax
(également à partir de http://developer.apple.com/library/ios/#documentation/cocoa/reference/foundation/Miscellaneous/Foundation_Constants/Reference/reference.html)
Pour 32-bit & 64 bits, il existe deux conventions:
a)ILP32
b)LP64
Le 32-bit runtime utilise une convention appelée ILP32, dans lequel les entiers, les entiers longs, et les pointeurs sont les quantités de 32 bits. Le runtime 64 bits utilise le LP64 convention; des entiers de 32 bits quantités, et les entiers longs et les pointeurs sont des 64 bits quantités. Ces conventions match de l'ABI pour les applications du système d'exploitation OS X (et, de même, le Cocoa Touch conventions correspondent aux types de données utilisés dans le Cacao), ce qui facilite l'écriture interopérables code entre les deux systèmes d'exploitation.
Tableau 1-1 tous les types d'entiers couramment utilisé dans le code Objective-C. Chaque entrée inclut la taille du type de données et de son alignement prévu dans la mémoire. La mise en surbrillance des entrées de la table indiquent les endroits où le LP64 convention diffère de la ILP32 convention. Ces différences de taille indiquent les endroits où votre code de changements de comportement lors de la compilation pour le runtime 64 bits. Le compilateur définit la LP64 macro lors de la compilation pour le runtime 64 bits.
pour la version 64 bits max de la gamme pour NSInteger est : LONG_MAX : 9223372036854775807