是否有一個自定義或標準庫,我可以使用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