Функции оперируют различными числовыми командами, типами данных и управляют точностью. Показанные команды являются командами для автоматического перевода чисел в BCD вид (двоично- десятичный код). При этом вычисляется 10-ти кратное значение целочисленной величины, операции выполняются одновременно, устанавливается синхронизация данных и используется ориентированное округление в модуле обработки операций с плавающей точкой.
Без типа данных расширенной точности и встроенной экспоненциальной функции, не может быть достигнута двойная точность этой функции при скорости и размере приведенного примера.
Функция базируется на числовом типе данных BCD для перевода из двоичного с плавающей точкой в десятичное. Основная работа заключается в масштабировании значения с плавающей точкой до приемлемого ограниченного диапазона значений типа BCD. Для то, чтобы напечатать результат из 9-ти цифр, необходимо точно провести масштабирование данной величины в целое между 10**(8) и 10**(9). Например, число +0.123456789 требует коэффициента масштабирования порядка 10**(9) для того, чтобы получить число +123456789.0, которое может храниться в 9-ти цифрах типа BCD. Коэффициент масштабирования должен быть точной степенью 10-ти для того, чтобы предотвратить изменения цифр при печати.
Эти подпрограммы должны правильно переводить все значения, точно представимые в десятичном виде, в поле, заданного размера. Целочисленные значения, которые подходят под данный размер строки, нет необходимости масштабировать, а можно сразу сохранять в форме BCD. Нецелочисленные значения, точно представимые в десятичном виде в пределах размера строки, также переводятся точно. Например, число 0.125 точно представимо как в двоичном виде, так и в десятичном. Для того, чтобы перевести это значение с плавающей точкой в десятичный вид, надо выбрать коэффициент масштабирования 1000. В результате получим число 125. При масштабировании величин, функция должна оставлять след там, где будет располагаться десятичная точка в конечном десятичном значении.