首页 > Web开发 > 详细

PHP模拟js的位移运算

时间:2020-09-04 15:13:07      阅读:54      评论:0      收藏:0      [点我收藏+]

>>>无符号右移的运算符

<<左移

>>右移

/**
 * >>> javascript operator in php x86_64
 * @param int $v
 * @param int $n
 * @return int
 */
function rrr($v, $n)
{
  return ($v & 0xFFFFFFFF) >> ($n & 0x1F);
}

/**
 * >> javascript operator in php x86_64
 * @param int $v
 * @param int $n
 * @return int
 */
function rr($v, $n)
{
  $v = $v & 0x80000000 ? $v | 0xFFFFFFFF00000000 : $v & 0xFFFFFFFF;

  return $v >> ($n & 0x1F);
}


/**
 * << javascript operator in php x86_64
 * @param int $v
 * @param int $n
 * @return int
 */
function ll($v, $n)
{
  $t = ($v & 0xFFFFFFFF) << ($n & 0x1F);

  return $t & 0x80000000 ? $t | 0xFFFFFFFF00000000 : $t & 0xFFFFFFFF;
}

  

PHP模拟js的位移运算

原文:https://www.cnblogs.com/tonnytong/p/13613359.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!