What you want is NSDecimalNumber
. It allows you to represent numbers with greater accuracy and range, but with the trade-off that they're slower, take more memory, and can't be manipulated as easily as C-primitive number types.
Example:
NSDecimalNumber *fifteen = [NSDecimalNumber decimalNumberWithString:@"15"];
NSDecimalNumber *result = [fifteen decimalNumberByRaisingToPower:15];
NSString *string = [result stringValue];
More information can be found here: https://developer.apple.com/library/mac/documentation/cocoa/Reference/Foundation/Classes/NSDecimalNumber_Class/Reference/Reference.html