В алгебре логики применяются только три операции: конъюнкция (или логическое умножение, обозначается обычно ∧), дизъюнкция (или логическое сложение, обозначается обычно ∨) и инверсия (отрицание, обозначается чаще
¬). Так же, в алгебре логики, в отличие от математики, может быть получено только
два результата выражения, каким бы оно не было - это 1 (истина, true) или 0 (ложь, false). Так же, именно с этими символами проводят операции.
Алгебраических операций куда больше: умножение, деление, сложение, вычитание, возведение в степень, корень N-ой степени, синусы, косинусы... Я, конечно, не всё перечислил, но разница ощутима. И числа, над которыми проводятся операции, тоже разнообразны, т.к. операции в математике проводятся над числами из десятичной системы счисления. Следовательно, результат операций в математике может получиться любой (в пределах десятичной системы счисления).
N=16
N=2^i
Отсюда следует, что i=4бит
i=4
k=1000
I=k*I
I=1000*4=4000бит
4000/8=500байт
Program n1;
var i: integer;
begin
for i:=0 to 8 do writeln('при x=',i,' y=',i*i+3);
end.
Тут не как не помочь попробуй через шифт