Я пытаюсь преобразовать число с плавающей запятой одинарной точности в представление ascii четырех байтов, которые его составляют (знак / экспонента / мантисса).
Мой текущий код:
Integer.toString(Float.floatToRawIntBits(f),16);
Float.floatToRawIntBits
создает целое число, используя те же байты, а затем Integer.toString
создает цифры ascii в шестнадцатеричной форме (отсюда и указано radix = 16). Моя проблема в том, что мне всегда нужно 8 символов ascii плюс необязательный знак '-', и Integer.toString
не дополняется левыми боковыми нулями.
Кто-нибудь может предложить элегантное решение?
Спасибо.