Существует ли константа, которая определяет максимальное значение long или integer?
В java существует константа для максимального значения Long.
Например:
long minBillId = Long.MAX_VALUE
Есть ли константа для максимального значения long или int в Obj-C?
Ответ 1
Если вы импортируете limits.h
вы можете вызвать LONG_MAX
Для справки этот сайт показывает, как получить максимальное значение для всех типов:
#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 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 always zero: %llu", 0);
NSLog(@"ULLONG_MAX: %llu", ULLONG_MAX); // unsigned long long int
Ответ 2
INT_MAX должен перейти к 2147483647
Это:
#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;
}