2012-03-18 14 views

Respuesta

43

Si importa limits.h puede llamar LONG_MAX

de referencia, esta site muestra cómo obtener el máximo de todos los tipos como por ejemplo:

#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 
2
NSLog(@"INT_MIN: %i", INT_MIN); 
    NSLog(@"INT_MAX: %i", INT_MAX); 
    NSLog(@"LONG_MIN: %li", LONG_MIN); 
    NSLog(@"LONG_MAX: %li", LONG_MAX); 
11

INT_MAX debe resolver a 2147483647

Esto:

#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; 
} 

Salidas:

2012-03-18 13:58:54.509 Craplet[51324:707] foo: 2147483647 
+0

debe? ¿O lo hace, siempre, porque la especificación del lenguaje lo dice? – doug65536

Cuestiones relacionadas