Здравствуйте, LiIon, Вы писали:
LI>Здравствуйте, dikun, Вы писали:
D>>...для однобайтовых чисел:
D>>x[k](2) ::= k-я цифра числа x в двоичной системе счисления
D>>x[n]...x[0]( 2) ::= x, записанное двоичными цифрами.
D>>x[m]...x[0](10) ::= x, записанное десятичными цифрами.
D>>sum[i=0,7](a[i](2)) ::= сумма по i от 0 до 7 двоичных a[i]-ых
D>>2^i ::= 2 в степени i
D>>a shl i ::= побитный сдвиг a влево на i бит без усечения битов, вышедших за разрядную сетку
D>>a shr i ::= аналогично предыдущему (только вправо и с усечением)
D>>a div b ::= неполное частное при делении a на b
D>>not a = 1...1(2) — a = 255(10) — a
D>>a shl i = a * (2^i)
D>>a shr i = a div (2^i)
D>>a[i](2) = ( ( a shl (7-i) ) — ( ( a shr (i+1) ) shl 8 ) ) shr 7
D>>a and b = sum[i=0,7]( a[i](2) * b[i](2) * (2^i) )
D>>a or b = not( (not a) and (not b) )
D>>not(not a) = a
D>>a => b = (not a) or b = not( a and (not b) )
D>>a <=> b = (a => b) and (b => a)
D>>a xor b = not(a <=> b) = not( (a=>b) and (b=>a) ) = not( not( a and (not b) ) and not( b and (not a) ) )
D>>Всё.
D>>Если есть желание — преобразовывай дальше.
LI>В том то и дело что побитово я могу это все разложить и преобразовать через другие побитовые операции, но совместить побитовые операции с арифметическими действиями у меня не получается, т.е. можно ли преобразовать такую формулу (a or (not(b-c)), где '-' арифметическое действие, через арифметические действия а не через побитовые. Или как арифметический '-' выразить побитовыми функциями.
Тут мне стало интересно: а зачем