PHP无符号右移与旋转右移
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP无符号右移与旋转右移相关的知识,希望对你有一定的参考价值。
# php 无符号右移 仅用于int形, PHP 的int为32位 # // 右移旋转 function rightRoate($int,$n){ $min = intval(PHP_INT_MAX + 1); $max = PHP_INT_MAX; for ($i=0; $i < $n; $i++) { // 进行右移 if($int & 1){ $num = $min; $int >>=1; $int |= $num; }else{ $num = $max; $int >>= 1; $int &= $num; } } return $int; } // 无符号右移 function unsignedRight($int, $n){ for ($i=0; $i < $n; $i++) { if( $int < 0 ){ $int >>= 1; $int &= PHP_INT_MAX; }else{ $int >>= 1; } } return $int; }
1. 需要注意的是位运算使用补码进行运算的
以上是关于PHP无符号右移与旋转右移的主要内容,如果未能解决你的问题,请参考以下文章