есть последовательность байтов переменной длины от 1 до 4 в которой закодировано Integer32
Первый байт - старший, последний - младший.
Первый бит старшего байта - знак.
Имеем адрес начала последовательности *mem и длину последовательности nLength.l
Нужно преобразовать в обычный пуриковский Result.l он же long.
Пару лет назад я написал функцию декодирования и успешно пользовался ею.
Пока недавно не выяснил что она неправильно декодирует отрицательные числа.
Я конечно исправил. Но мне не очень нравится мой алгоритм - очень специфичен.
Может кто предложит более "красивый" алгоритм.
Свой алгоритм пока не публикую чтобы не сбивать с собственных идей.