Самый простой способ преобразования плавающей запятой IEEE 754 в шестнадцатеричное - PullRequest
0 голосов
/ 01 марта 2019

Может кто-нибудь объяснить пошаговую процедуру, чтобы сделать выше?

1 Ответ

0 голосов
/ 05 марта 2019

Ниже приведены основные 32-разрядные двоичные числа с плавающей точкой IEEE-754 с округлением до ближайшего числа, равного четному:

  1. Начало с номера ввода x .
  2. Если x равно 0, выведите 0x00000000 (для 0) и остановитесь.
  3. Установите e в 0.
  4. Установите с на 0, если 0 ≤ x или 1, если x <0, и установите <em>x на | x |.
  5. Повторите, пока 2 ≤ x : Разделите x на 2 и добавьте 1 к e .
  6. Повторите, пока x <1: умножьте <em>x на 2 и вычтите 1 из e .
  7. Умножьте x на 2 23 .
  8. Если e <−126, разделите <em>x на 2 −126− e и установите e на −126.
  9. Если дробная часть x меньше ½, измените его на 0.
  10. Еслидробная часть x больше ½, измените его на 0 и добавьте 1 к f .
  11. IЕсли дробная часть x равна ½, измените ее на 0. Затем, если x нечетно, добавьте 1 к x .
  12. Разделите x на 2 23 .
  13. Если 2 ≤ x , разделите f на 2 и добавьте 1 к e .
  14. Если 127 <<em> e :
    • Если s равно 1, выведите 0xff800000 (для -∞) и остановитесь.
    • В противном случае выведите 0x7f800000 (для + ∞) и остановитесь.
  15. Если 1 ≤ x :
    • Добавить 127на e и вычтите 1 из x .
    • В противном случае установите e на 0.
  16. Produce s • 2 31 + e • 2 23 + x • 2 23 в шестнадцатеричном формате и останов.

Выше приведено в памяти и не проверено, поэтому его следует перепроверить.

...