Floating Point Standard

Тема в разделе "WASM.ZEN", создана пользователем const, 25 мар 2005.

  1. const

    const New Member

    Публикаций:
    0
    Регистрация:
    8 апр 2004
    Сообщения:
    121
    Самый распространенный стандарт хранения числа с плавающей точкой - IEEE 754. А есть ли другие стандарты? Попробовал поискать в поисковике, не нашел. Может, кто сталкивался?
     
  2. Sergey_R

    Sergey_R Member

    Публикаций:
    0
    Регистрация:
    9 янв 2005
    Сообщения:
    138
    В стародавние времена приходилось разбираться с форматом плавающей точки (по той же старой привычке написал "запятой" :о)) ЕС ЭВМ (в "девичестве" IBM 360/370). Он отличается от IEEE 754.

    Вот, взгляни: http://docs.mandragor.org/files/Programming_languages/Fortran/User_Not es_on_Fortran_Programming_en/ch41.htm Там в конце есть сводная таблица разных форматов, для дальнейших поисков, думаю, достаточно... ;о)
     
  3. const

    const New Member

    Публикаций:
    0
    Регистрация:
    8 апр 2004
    Сообщения:
    121
    2 Sergey_R

    Спасибо. К сожалению, не мог ответить сразу.

    Ссылку посмотрел, пока не помогло...

    С IBM-вским стандартом тоже когда-то разбирался, но слабо верилось, что можно его счас встретить. Хотя, а почему бы и нет, собственно?

    Что касается моего случая, с наскоку проблемка пока не решилась, попробую поковыряться еще чуток. Если обломаюсь, буду просить совета с конкретным примером, ок?
     
  4. Sergey_R

    Sergey_R Member

    Публикаций:
    0
    Регистрация:
    9 янв 2005
    Сообщения:
    138
    const



    "Не помогло"?... Я так понимаю, ищется описание конкретной реализации, которой в списке не оказалось?

    Помочь, конечно. Если смогу, разумеется... :о)
     
  5. const

    const New Member

    Публикаций:
    0
    Регистрация:
    8 апр 2004
    Сообщения:
    121
    2 Sergey_R

    Да фиг знает, что ищется, если честно...

    Есть прога, которая использует числа с плавающей точкой. Для этого используется некая "хитроседалищная" функция. Мне показалось, что она - от другого разработчика. Разбираться, как она работает - кисло (но, если уж совсем будет плохо, буду ее ковырять). Мне показалось проще подойти к ней (к функции) как к "черному ящику" - задаем вход,получаем выход, анализируем. В первую очередь предположил, что эта функция - реализация какого-нить малоизвестного стандарта. Не прокатило. Счас попробую найти закономерность, балуясь с бинарным представлением выхода...

    Как-то так.
     
  6. Black_mirror

    Black_mirror Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2002
    Сообщения:
    1.035
    const

    В досовском паскале тип Real вроде был 6 байт - 4 байта мантиста и 2 байта порядок. Возник этот тип когда сопроцессоры были не везде и думаю что этот формат встречается достаточно часто. А
    сколько байт читает или записывает?
     
  7. const

    const New Member

    Публикаций:
    0
    Регистрация:
    8 апр 2004
    Сообщения:
    121
    про "НЕ УМЕЮ ГУУГЛи" прикольно получилось, конечно, хотя я там писал что-то другое.... Наверно, 1 апреля и "типа, наверно, смешно" ...

    Black_mirror

    длина - 4 байта. Выходные еще помучаюсь, может, чего и накопаю. В любом случае отпишусь о результатах
     
  8. const

    const New Member

    Публикаций:
    0
    Регистрация:
    8 апр 2004
    Сообщения:
    121
    1. Спасибо за моральную поддержку. Вроде одолел. Там оказался IEEE-формат, немного перобразованный (дабы чужие не воспользовались). Последовательность байтов ксорилась последним числом номера записи (в структуре записи номер присутствует явно), а потом порядок байтов меняется в зависимости от остатка деления номера записи на 4. Во как!!!

    2. в копилку стандартов - у IBM нашел документ "z/Architecture Principles of Operation", "Chapter 18. Hexadecimal-Floating-Point Instructions" (http://www-1.ibm.com/support/docview.wss?uid=isg26480faec85f44e238525 6d5200627dee&aid=1) где есть "родное" описание IBM-вских float-стандатов