There are a lot of ways to accomplish this. The following is the most pragmatic: NSString *numStr = [NSString stringWithFormat:@"%llu", [myNum unsignedLongLongValue]]; // .. code and time in between when numStr was created // .. and now needs to be converted back to a long long. // .. Therefore, numStr used below does not imply the same numStr above. unsigned long long ullvalue = strtoull([numStr