09.06.2004, 02:10
Выдался у меня свободный вечер, написал парсер Леверов. Ловите прилепленный файл.
Элементарная проверка первого байта на четность намного легче предложенного тобой варианта.
Кстати такой же алгоритм подходит и для всех других "длин" в файле. Т.е. должен использоваться и при подсчете размеров блоков, подблоков, строк таблицы и ячеек таблицы.
ELF Написал:[*] - самый каверзный параметр. Расчитывается так:Что-то гемор какой-то. Можно намного проще. Считать один байт. Проверить, четное ли число в нем записано или нечетное. Если четное, делим на два и работаем дальше. Если нечетное, возвращаемся на байт назад и считываем уже 4 байта. вычитаем из них 1-цу и делим опять на два, работаем опять дальше.
Считываем аж 4 байта!!! :o Если второй байт больше 0, третий байт не равен 2, а четвёртый байт равен 0, то размер длины строки long, иначе размер длины строки byte.
Элементарная проверка первого байта на четность намного легче предложенного тобой варианта.
Кстати такой же алгоритм подходит и для всех других "длин" в файле. Т.е. должен использоваться и при подсчете размеров блоков, подблоков, строк таблицы и ячеек таблицы.
Duty is everything, the greatest of joys, the deepest of sorrows.