是否有一个自定义或标准库,我可以使用objective-c将十进制浮点值转换为十六进制,二进制和八进制NSStrings?将二进制十进制转换为十六进制,二进制和八进制字符串
我一直在四处寻找了很多,但只能找到如何在另一个方向转换(从一切为十进制),通过使用:double result = (double)strtoll(myHexString.UTF8String, NULL,16)
是否有一个自定义或标准库,我可以使用objective-c将十进制浮点值转换为十六进制,二进制和八进制NSStrings?将二进制十进制转换为十六进制,二进制和八进制字符串
我一直在四处寻找了很多,但只能找到如何在另一个方向转换(从一切为十进制),通过使用:double result = (double)strtoll(myHexString.UTF8String, NULL,16)
至于八进制和十六进制,你可以利用以下事实:你可以格式化使用%x和十六进制和八进制数%O说明:
NSString* str=[NSString stringWithFormat: @"Hex: %x Octal: %o",14,14];
但这只是为不可或缺的一部分,所以你可以使用integers.If你还想小数部分,以获得固定点您需要实现该算法,二进制相同。
为了补充前面的答案,格式说明符%x只允许处理整数值。 如果你得到的十进制值大于最大整数值,你可以用很长的时间来通过这种方式施加你的double值:NSString * hexString = [NSString stringWithFormat:@"%llx", (long long)doubleValue];
你是什么意思的“十进制浮点”? –
也许和热舔相同的问题,但是当浮点数被打印为例如你想要的编码时。十六进制?你期待它在IEEE 754吗? – Tommy
我希望能够将任何二进制小数(带有小数点和负数)转换为八进制,十六进制和二进制。与此在线工具类似:http://www.mathsisfun.com/binary-decimal-hexadecimal-converter.html – amirfl