Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

IEEE 754 и float в С++

4.8K
27 февраля 2007 года
fakel15
54 / / 02.12.2005
появилась такая проблема: есть число (например 42 49 99 9A, в нормальном виде это 50.4) оно представлено в формате IEEE 754, я его получаю по сети в виде четырех байт, потом с помощью смещений собираю одно большое число , но когда хочу присвоить его переменной с типом данных float, оно (это число) воспринимается как целое, со всеми вытикающими последствиями!!! Неужели мне придется его раскручивать по битам самому, т.е. выделять мантису, экспоненту и знак, или есть какой-нибудь другой путь... помогите пожалуйста, заранее благодарен....:)
9
27 февраля 2007 года
Lerkin
3.0K / / 25.03.2003
как пример:
 
Код:
union
{
    float f;
    char c[4];
} fnum;

fnum.c[0] = 0x42;
fnum.c[1] = 0x49;
fnum.c[2] = 0x99;
fnum.c[3] = 0x9A;

после этого, в fnum.f будет содержаться 50.4

P.S. порядок следования чисел мог перепутать!

upd: А за кросспостинг - по заднице... :mad:
4.8K
27 февраля 2007 года
fakel15
54 / / 02.12.2005
Огромное человеческое спасибо!!!!
А кросспостить больше никогда не буду...:)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог