Objective-C Decimal to Base 16 Hex conversion
Does anyone have a code snippet or a class that will take a long long and turn it into a 16 byte Hex string?
开发者_运维百科I'm looking to turn data like this
long long decimalRepresentation = 1719886131591410351;
and turn it into this
//Base 16 Hex Output: 17DE435307A07300
The %x operator doesn't want to work for me
NSLog(@"Hex: %x",decimalRepresentation);
//console : "Hex: 7a072af"
As you can see that's not even close. Any help is truly appreciated!
%x
prints an unsigned integer in hexadecimal representation and sizeof(long long) != sizeof(unsigned)
. See e.g. "Data Type Size and Alignment" in the 64bit transitioning guide.
Use the ll
specifier (thats two lower-case L) to get the desired output:
NSLog(@"%llx", myLongLong);
精彩评论