Есть ли в Perl побитовый оператор, который действует как >>
, но удаляет старший бит? Вроде того, как оператор >>
чем-то похож на функцию shift()
, я ищу битовый оператор, похожий на pop()
.
110110
вернет 10110
101
вернет 01
В конечном счете, я пытаюсь увидеть, является ли число в двоичной форме палиндромным (например, 11011, 111 или 1010101), поэтому в идеале оператор должен иметь способ вернуть бит, который он удаляет. Ничего страшного, если оператор этого не сделает, поскольку я мог бы сделать это математически, но в интересах чистоты кода было бы здорово, если бы он автоматически возвращал MSB. Для LSB я делаю
$LSB=$mynum-2*($mynum>>1);
$mynum>>=1;