Вычисления в конечных полях
ПРИЛОЖЕНИЕ Приложение I Пояснений к программной реализации рассмотренных алгоритмов Для возведения числа 2 в р-ю степень (2'0, р = 0,31, число 1 можно сдвинуть на р позиций влево в двоичном представлении; в стандарте языка «Си» это вычисляется с помощью операции (!«/?), а в Pascal - как (1 shl />). Для получения значения /-го бита машинного словах, j = 0,3 \, необходимо . ¥ сдвинуть на j бит (позиций) вправо и полученное вы ражение логически (а не арифметически) умножить на единицу; в стандарте языка Си можно применить операцию (.\:»/)&1, а в Pascal - операцию (х shI /) and 1. В языках Си и Pascal используются следующие команды и знаки операций, которые можно использовать в вычислениях (табл. П1). Таблица П1 Тип операции Язык С, С++ Pascal Логическое умножение числа л' на v X & V X and V Сдвиг числа х на \' позиций влево с потерей значащих битов .V « V ,v shl \' Сдвиг числа .v на v почиций вправо с потерей значащих битоп л - » .f shr V Операция взятия остатка от деления .v на v л- % V -t mod V Целочисленное деление д- на v Л' / V •f div V Округлекне числа л к наименьшему целому числу (без учета дробной части) (int).v iiit(.v) Взятие квадратного корня из числа д- scirt(.v) sqrt(,v) Выделение памяти подданные Функции malloc, new Задание статич ного массива 125
Made with FlippingBook
RkJQdWJsaXNoZXIy MTY0OTYy