Cтраница 2
Замещенный символ является символом начала значимости, поэтому индикатор значимости устанавливается во включенное состояние. Это означает, что оставшиеся цифры независимо от того, значащие они или нет, должны быть занесены в образец. [16]
Так как она незначащая, проверяется, включен ли индикатор значимости. [17]
При обработке шестого байта образца встречается сим-вол разделения полей и индикатор значимости устанавливается в состояние выключено. Если следующая редактируемая величина содержит в своем начале незначащие цифры, то снова; происходит подавление нулей. Вместо символа разделения по лей в соответствующую позицию образца помещается код пробела. [18]
Следующий символ разделения полей встречается в байте 14, и индикатор значимости еще раз устанавливается в состояние выключено. На место символа разделения полей заносится пробел. [19]
Если в шаблоне встречается символ разделения полей f, то индикатор значимости устанавливается в О, по позволяет выполнить подавление нулей и для следующего числа из исходного поля. [20]
Кроме исходного поля и шаблона в выполнении команд редактирования участвует специальный индикатор значимости, показывающий наличие значащих цифр в числе. Состояние индикатора значимости устанавливается и проверяется в процессе редактирования для выполнения необходимых действий. [21]
Устраняемый из образца символ начала значимости не влияет на состояние индикатора значимости, потому что он уже был включен. Так как замененный символ не был символом разделения полей, индикатор значимости не выключается. [22]
Третий символ исходного поля заносится в образец ввиду того, что индикатор значимости включен и заносимый символ является значащей цифрой. [23]
Хотя последней цифрой исходного поля является незначащая цифра, состояние включено индикатора значимости заставляет перенести цифру 0 исходного поля в 16 - й байт образца. [24]
Если очередная цифра исходного поля - нуль, то проверяется состояние индикатора значимости. В этом случае нуль заносится в область результата, как и любая другая цифра. [25]
Символ, замещенный символом-заполнителем, не является символом начала значимости, поэтому индикатор значимости остается в выключенном состоянии. [26]
Если при редактировании с использованием этого образца в исходном поле встречается знак плюс, индикатор значимости после обработки последней цифры исходного поля выключается. [27]
До сих пор объяснялось, как взаимодействуют в процессе редактирования символ выбора цифры, символ начала значимости и индикатор значимости. Фактически на данных примерах демонстрировалась простая операция подавления незначащих нулей. Другим часто используемым вариантом редактирования является внесение в редактируемую величину знаков пунктуации или каких-либо других символов, например преобразование величины 03952867 в величину 39 528.67. Образец задается в шестнадцатеричной форме со знаками пунктуации в соответствующих местах. [28]
Проверяется символ образца, замещенный символом-заполнителем, и, так как он не является символом начала значимости, состояние индикатора значимости не изменяется. [29]
На этом этапе четвертая цифра исходного поля замещает в образце соответствующий символ выбора цифры; цифра эта значащая, и индикатор значимости включен. [30]