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