Важной областью применения строковых значений являются форматные преобразования, позволяющие переводить число из машинного двоичного представления в строку литер. Эти преобразования выполняются над числами двойной длины, результирующая строка размещается во временном буфере PAD (прокладка), который заполняется с конца. Такое название буфера связано с тем, что он располагается в незащищенной части адресного пространства между словарем и стеком. Слово PAD кладет на стек адрес конца этого буфера и обычно определяется так:
: PAD ( ---> А ) HERE 100 + ;
В данном случае предполагается, что размер буфера не будет превышать 100 байт.
Собственно форматное преобразование начинается словом <# которое устанавливает служебную переменную HLD на конец буфера PAD:
: <# ( ---> ) PAD HLD ! ;
Занесение очередной литеры в буфер PAD выполняет слово HOLD (сохранить):
: HOLD ( С ---> ) -1 HLD +! HLD @ C! ;
Преобразование числа выполняет слово # DD1 --> DD2, которое работает со значениями двойной длины. Параметр делится на текущее значение переменной BASE (основание системы счисления) и заменяется на стеке получившимся частным, а остаток переводится в литеру соответствующую ему как цифра в данной системе счисления, и через слово HOLD эта литера добавляется в буфер PAD.