BitShift
Выполняет операцию побитового сдвига.
Параметры
value |
"Сдвигаемое" число |
shift |
Число битов для сдвига вправо (отрицательные числа означают сдвиг влево) |
Возвращаемое значение
Возвращает результат побитового сдвига.
Операции над битами выполняются только для 32-битовых целых чисел.
Примечания
В качестве значений параметров функции можно использовать шестнадцатеричное представление чисел.
Сдвиг вправо эквивалентен делению на 2; влево - умножению на 2.
См. также
BitAND, BitNOT, BitOR, BitXOR, Hex, BitRotate
Пример
$x = BitShift(14, 2)
; x = 3 потому что 14 с двойным сдвигом вправо преобразуется в 3
; 14 в бинарном виде 00000000000000000000000000001110
; 3 в бинарном виде 00000000000000000000000000000011
$y = BitShift(14, -2)
; y = 56 потому что 14 с двойным сдвигом влево преобразуется в 56
; 14 в бинарном виде 00000000000000000000000000001110
; 56 в бинарном виде 00000000000000000000000000111000
$z = BitShift(1, -31)
; z = -2147483648 потому что это второй способ представления отрицательного числа (цифры инвертированы)
; 32-ая цифра считая с правой стороны является отрицательным знаком.
; 1 в бинарном виде 00000000000000000000000000000001
; -2147483648 в бинарном виде 10000000000000000000000000000000
MsgBox(0, 'Сообщение', $x & @LF & $y & @LF & $z)
|