Existe-t-il une constante qui définit la valeur maximale de long ou integer?

En java, il y a une constante pour la valeur max de Long. Tels que:

long minBillId = Long.MAX_VALUE

Existe-t-il une constante pour la valeur max de long ou int dans Obj-C?

23
demandé sur bryanmac 2012-03-18 21:49:03

3 réponses

Si vous importez limits.h vous pouvez appeler LONG_MAX

Pour référence, ce site montre comment obtenir le maximum pour tous les types en tant que tels:

#import <limits.h>
 // ...
NSLog(@"CHAR_MIN:   %c",   CHAR_MIN);
NSLog(@"CHAR_MAX:   %c",   CHAR_MAX);
NSLog(@"SHRT_MIN:   %hi",  SHRT_MIN);    // signed short int  
NSLog(@"SHRT_MAX:   %hi",  SHRT_MAX);
NSLog(@"INT_MIN:    %i",   INT_MIN);
NSLog(@"INT_MAX:    %i",   INT_MAX);
NSLog(@"LONG_MIN:   %li",  LONG_MIN);    // signed long int
NSLog(@"LONG_MAX:   %li",  LONG_MAX);
NSLog(@"ULONG_MIN not defined, it's always zero: %lu", 0);  
NSLog(@"ULONG_MAX:  %lu",  ULONG_MAX);   // unsigned long int
NSLog(@"LLONG_MIN:  %lli", LLONG_MIN);   // signed long long int
NSLog(@"LLONG_MAX:  %lli", LLONG_MAX);
NSLog(@"ULLONG_MIN not defined, it's always zero: %llu", 0);  
NSLog(@"ULLONG_MAX: %llu", ULLONG_MAX);  // unsigned long long int
45
répondu Amit Shah 2012-10-17 15:15:24

INT_MAX devrait se résoudre à 2147483647

Ceci:

#import <Foundation/Foundation.h>

int main (int argc, const char * argv[])
{
    NSInteger foo = INT_MAX;
    NSLog(@"foo: %li", foo);  // li because 64 bit OSX cmd line app

    return 0;
}

Sorties:

2012-03-18 13:58:54.509 Craplet[51324:707] foo: 2147483647
11
répondu bryanmac 2012-03-18 18:01:36
  NSLog(@"INT_MIN:    %i",   INT_MIN);
  NSLog(@"INT_MAX:    %i",   INT_MAX);
  NSLog(@"LONG_MIN:   %li",  LONG_MIN); 
  NSLog(@"LONG_MAX:   %li",  LONG_MAX);
3
répondu Jason 2012-03-18 17:53:52