Изменения

Перейти к: навигация, поиск

Побитовые операции

56 байт убрано, 23:47, 20 марта 2016
Вычисление модуля числа без использования условного оператора
коде со сдвигом]] с тем отличием, что у нас знаковый бит принимает значение <tex>1</tex> для отрицательных чисел, а <tex>0</tex> {{---}} для положительных.
<code>
<font color '''int32''' abs1(x: '''int32'''): mask = greenx >// n {{---}} разрядность числа</font>31 '''return''' (x + mask = x ) <tex>\oplus</tex> n - 1mask
abs = '''int32''' abs2(x + mask: '''int32''') <tex>\oplus</tex> : mask <font color = greenx >// другой способ сделать то же самое:</font>31 abs = '''return''' (x <tex>\oplus</tex> mask) - mask
</code>
276
правок

Навигация