|
Организуем большой сдвиговый регистр 5 байт на результат + 4 байта на исходное число.
Организуем цикл из 32 сдвигов. Перед каждым сдвигом каждый полубайт старших 5 байт проверяем - если число больше 4, прибавляем 3. Перенос в следующий полубайт (байт) отрабатываем как положено, т.е. добавляем 1. Полубайты анализируем начиная с младших полубайт в этих 5 байтах.
После 32 сдвигов в старших 5 байтах будет результат в 2-10 коде.
Этот алгоритм интерпретирует исходное число как целое - результат, тоже целое в 2-10 коде.
Если числа дробные, то алгоритм изменяется.
Поскольку не был указан тип контроллера, программу предлагать затруднительно.
E-mail: info@telesys.ru