10 進数の浮動小数点値を 16 進数、2 進数、および 8 進数の NSString に変換するために目的の c で使用できるカスタム ライブラリまたは標準ライブラリはありますか?
私はたくさん見回してきましたが、次を使用して、他の方向を(他のすべてのものから10進数に)変換する方法しか見つけることができません。double result = (double)strtoll(myHexString.UTF8String, NULL,16)
10 進数の浮動小数点値を 16 進数、2 進数、および 8 進数の NSString に変換するために目的の c で使用できるカスタム ライブラリまたは標準ライブラリはありますか?
私はたくさん見回してきましたが、次を使用して、他の方向を(他のすべてのものから10進数に)変換する方法しか見つけることができません。double result = (double)strtoll(myHexString.UTF8String, NULL,16)
8 進数と 16 進数に関しては、%x と %o 指定子を使用して 16 進数と 8 進数で数値をフォーマットできるという事実を利用できます。
NSString* str=[NSString stringWithFormat: @"Hex: %x Octal: %o",14,14];
ただし、これは整数部分にのみ使用できるため、整数を使用できます。小数部分も必要な場合は、固定小数点を取得するには、2 進数と同じようにアルゴリズムを実装する必要があります。
前の回答を補足するために、書式指定子 %x を使用すると整数値のみを処理できます。最大整数値より大きい 10 進数値を取得した場合、次の方法で long long を使用して double 値をキャストできます。NSString * hexString = [NSString stringWithFormat:@"%llx", (long long)doubleValue];