Самый распространенный стандарт хранения числа с плавающей точкой - IEEE 754. А есть ли другие стандарты? Попробовал поискать в поисковике, не нашел. Может, кто сталкивался?
В стародавние времена приходилось разбираться с форматом плавающей точки (по той же старой привычке написал "запятой" :о)) ЕС ЭВМ (в "девичестве" IBM 360/370). Он отличается от IEEE 754. Вот, взгляни: http://docs.mandragor.org/files/Programming_languages/Fortran/User_Not es_on_Fortran_Programming_en/ch41.htm Там в конце есть сводная таблица разных форматов, для дальнейших поисков, думаю, достаточно... ;о)
2 Sergey_R Спасибо. К сожалению, не мог ответить сразу. Ссылку посмотрел, пока не помогло... С IBM-вским стандартом тоже когда-то разбирался, но слабо верилось, что можно его счас встретить. Хотя, а почему бы и нет, собственно? Что касается моего случая, с наскоку проблемка пока не решилась, попробую поковыряться еще чуток. Если обломаюсь, буду просить совета с конкретным примером, ок?
const "Не помогло"?... Я так понимаю, ищется описание конкретной реализации, которой в списке не оказалось? Помочь, конечно. Если смогу, разумеется... :о)
2 Sergey_R Да фиг знает, что ищется, если честно... Есть прога, которая использует числа с плавающей точкой. Для этого используется некая "хитроседалищная" функция. Мне показалось, что она - от другого разработчика. Разбираться, как она работает - кисло (но, если уж совсем будет плохо, буду ее ковырять). Мне показалось проще подойти к ней (к функции) как к "черному ящику" - задаем вход,получаем выход, анализируем. В первую очередь предположил, что эта функция - реализация какого-нить малоизвестного стандарта. Не прокатило. Счас попробую найти закономерность, балуясь с бинарным представлением выхода... Как-то так.
const В досовском паскале тип Real вроде был 6 байт - 4 байта мантиста и 2 байта порядок. Возник этот тип когда сопроцессоры были не везде и думаю что этот формат встречается достаточно часто. А сколько байт читает или записывает?
про "НЕ УМЕЮ ГУУГЛи" прикольно получилось, конечно, хотя я там писал что-то другое.... Наверно, 1 апреля и "типа, наверно, смешно" ... Black_mirror длина - 4 байта. Выходные еще помучаюсь, может, чего и накопаю. В любом случае отпишусь о результатах
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-стандатов