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