ГОСТ Р 54711—2011
} v/hile (condition)
Элемент данных повторяется при условии «истина».
if (condition) {
Если условие «истина», то первая группа элементов данных
появляется затем в потоке данных.
data_element
Если условие «истина» не сохраняется, то вторая группа
элементов данных появляется затем в потоке данных.
}
else {
data_element
Является инициализирующим выражением цикла.
Обычно оно определяет начальное состояние счетчика,
Является условием, определяющим проверку перед каждой итвраци-
ей цикла. Цикл завершается, когда условие «не истина».
’
for (exprl: вхрг2: ехргЗ){
exprl data element
... вхрг2
}
ехргЗявляется выражением, которое выполняется в конце каждой
итерации цикла, обычно оно инкрементирует счетчик.
Следует обратить внимание на наиболее распространенные варианты использования этой кон
струкции:
for (i = 0; i <n; i++) {Группа элементов данных появляется п раз. Условия в пределах
data_element
)
группы элементов данных могут зависеть от значения
переменной управления циклом /, которая обнуляется при
первом появлении, увеличивается на 1при втором появлении и т. д.
Как отмечено, группа элементов данных может содержать вложенные условные конструкции.
Для компактности скобки {} могут быть опущены, когда следует только один элемент данных.
data_elemont (]
Является массивом данных.
Количество элементов массива зависит от контекста.
data_elemont [л]
data_clement (т][л)
data_element [/][л)][л]
Является (л+1)-м элементом массива данных.
Является элементом (лн1)-й строки (л+1)-го столбца двухмерного массива
данных.
Является (/+1). (л?+1), (л-И)-м элементом трехмерного массива данных.
data_element [т...п\
Биты массива data_element cm поп включительно.
Знание самого синтаксиса потока битов в 5.3 не следует считать достаточным для декодирова
ния. В частности, это лишь определяет корректный и свободный от ошибок входной поток битов. Реаль
ные декодеры для того, чтобы правильно начатьдекодирование, должны иметь средства обнаружения
стартовых последовательностей.
bytealigncd()
Возвращает 1, если текущая позиция находится на границе байта, так что следу
ющий бит потока будет первым битом нового байта. В противном случае функция
возвращает 0.
nextbits()
Реализует сравнение строки битов со строкой битов на входе декодера.
noxt_start_code()
Удаляет все нулевые биты и биты стаффинга и определяет положение следующе
го синхрослова.
7