ArtMoney. Тип переменной - "С точкой 4 байта". Что за тип? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Привет! В чужой программе имеется 4х байтовая переменная (значение (hex) -

00 00 10 42

). ArtMoney выводит её правильно (тип - "С точкой 4 байта") -

36.0

. Но если попробовать преобразовать её через swprintf (%f) то получаю -

17179873412.000000

. Т.е. я как понимаю формат значения float иной. Что это за тип? Как мне его преобразовать в строку?

Решение задачи: «ArtMoney. Тип переменной - "С точкой 4 байта". Что за тип?»

textual
Листинг программы
    char arr[] = { 0x00, 0x00, 0x10, 0x42 };
    float f = *(float*)arr;

Объяснение кода листинга программы

В данном коде:

  1. Объявлен массив arr типа char, который содержит 4 элемента.
  2. Каждый элемент массива имеет значение 0x00, 0x00, 0x10, 0x42 соответственно.
  3. Затем происходит приведение массива arr к типу float с помощью оператора reinterpret_cast.
  4. Результат приведения записывается в переменную f типа float. Список переменных:
  5. arr - массив типа char.
  6. f - переменная типа float.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.429 из 5
Похожие ответы