In java, there is a constant for the max value of Long. Such as:
long minBillId = Long.MAX_VALUE
Is there a constant for the max value of long or int in Obj-C?
long: The long data type is a 64-bit signed two's complement integer. It has a minimum value of -9,223,372,036,854,775,808 and a maximum value of 9,223,372,036,854,775,807 (inclusive).
The int type in Java can be used to represent any whole number from -2147483648 to 2147483647. Why those numbers? Integers in Java are represented in 2's complement binary and each integer gets 32 bits of space.
long: The long data type is a 64-bit two's complement integer. The signed long has a minimum value of -263 and a maximum value of 263-1.
If you import limits.h
you can call LONG_MAX
For reference this site shows how to get the max for all types as such:
#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
INT_MAX should resolve to 2147483647
This:
#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; }
Outputs:
2012-03-18 13:58:54.509 Craplet[51324:707] foo: 2147483647
NSLog(@"INT_MIN: %i", INT_MIN);
NSLog(@"INT_MAX: %i", INT_MAX);
NSLog(@"LONG_MIN: %li", LONG_MIN);
NSLog(@"LONG_MAX: %li", LONG_MAX);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With