URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 801
[ Назад ]

Исходное сообщение
"Как из 4-х байт, составляющих число типа double, получить это число?"

Отправлено mclaren , 20-Июн-02 15:56 
Как из 4-х байт, составляющих число типа double, получить это число?

Пример:
unsigned char tmp[4]={63,128,0,0}; // значение double=1.0


Содержание

Сообщения в этом обсуждении
"RE: Как из 4-х байт, составляющих число типа double, получить это число?"
Отправлено pth , 21-Июн-02 01:41 
>Как из 4-х байт, составляющих число типа double, получить это число?
>
>Пример:
>unsigned char tmp[4]={63,128,0,0}; // значение double=1.0

Прежде, чем плодить непортируемые решения посмотри sizeof(double).


"RE: Как из 4-х байт, составляющих число типа double, получить это число?"
Отправлено Арлекин , 21-Июн-02 08:21 
>>Как из 4-х байт, составляющих число типа double, получить это число?
>>
>>Пример:
>>unsigned char tmp[4]={63,128,0,0}; // значение double=1.0
Хранение железкой int и double / float совершенно разные вещи. Кроме того, и то не везде (!!!), среди битов double / float значения НЕТ "точки" по определению. На SPARC они представлены на уровне регистров одинаково, а различаются на уровне кода библиотек языков - на уровне представления. Короче - если это ++ можно через strstream вывернуться, в K&R/AT&T есть старый добрый sprintf. Далее с char* можно делать все что угодно.
Разбирать же регистровые представления форматов "с точкой" - точно непортируемо получится - раз, и гемор редкий - два.
>
>Прежде, чем плодить непортируемые решения посмотри sizeof(double).
Это ничего не даст, кроме того, что он откроет для себя платформенную зависимость.  :)