位运算符笔记

时间:2021-10-12 17:21:51

计算机的最底层单元是二进制

hello world

hello       world

h    e    l    l      o

104    -    是由32位0和1(二进制组成)

104 = 64 + 32 + 8

0 0000000 00000000 00000000 01101000 = 104


位运算符&一般换算的是整数和浮点数

12 & 13 = ?

12 = 8 + 4

13 = 8 + 4 + 1

00000000 00000000 00000000 00001100

00000000 00000000 00000000 00001101     &

------------------------------------------------------------------&两位都为1的时候才为1

00000000 00000000 00000000 00001100

12

&和&&的区别是,&&会短路,&不会


|     只要有1个为1的就为1


~按位取反,补码加1,负数

<<位运算左移

var_dump(12 << 2);和var_dump(12*4);结果一样

左移等于*2  右移等于/2

>>>这个是javascript的右移叫无符号右移