每日总结:php位移运算

<< >>是php里的两个位移运算符。比如2<<3,11>>2,其中的计算原理是啥呢?

已3<<2为例,<<表示左移,即3所有的位往左移动2位,首先把3转换为二进制数字0000 0000 0000 0000 0000 0000 0000 0011,所有位左移2,前面的位挤掉,后面空出来的补0,那结果就是

0000 0000 0000 0000 0000 0000 0000 1100结果是12,数学原理就是3*2的2次方即:3<<2 == 3*pow(2,2);

11>>2同理,11>>2 == floor(11/pow(2,2));只不过需要向下取整,即除不足为0

<?php

// TIP
$a = "he"; 
$a{1} == $a[1] == 'h';
// {}跟[]的作用一样,表示偏移

 

Leave a comment

电子邮件地址不会被公开。 必填项已用*标注