За последние 24 часа нас посетили 15800 программистов и 1541 робот. Сейчас ищут 727 программистов ...

Преобразовать 8 байт в double

Тема в разделе "Прочие вопросы по PHP", создана пользователем MAXUS, 7 июл 2014.

  1. MAXUS

    MAXUS Новичок

    С нами с:
    7 июл 2014
    Сообщения:
    2
    Симпатии:
    0
    Добрый день!

    Проблема следующая...

    Получаю из потока 8 байт, которые должны составлять double. Считываю так: fread($file, 8)...
    Как полученное преобразовать в double? Если сделать так bin2hex(fread($file, 8)), то получаю:

    406429c28f5c28f6 - знаю, что это 161,305 (это правильное ожидаемое значение) ,но как это в php вычислить?

    unpack('d', fread($file, 8)) возвращает -1.4982749068389E+261...

    Может, потому что у меня система 64-разрядная?

    Подскажите, как получить double?
     
  2. Хыиуду

    Хыиуду Активный пользователь

    С нами с:
    3 июн 2014
    Сообщения:
    618
    Симпатии:
    5
  3. MAXUS

    MAXUS Новичок

    С нами с:
    7 июл 2014
    Сообщения:
    2
    Симпатии:
    0
    Проблема решена.

    unpack('d',strrev(fread($file, 8)));

    Строку нужно было перевернуть... Обратный порядок...

    Вопрос закрыт.