位运算比一般数学运算的常数项效率高一些,可用于底层代码的优化。
一、左移
1 << b 等于2的b次方, 假设8位,1在二进制中为00000001,<<为左移的意思,1 << 3就是左移三位的意思,
也就变成00001000,换成十进制等于8,也就等于2的三次方。
二、右移
10>>b等于10/(2^b),假设8位,10在二进制中为00001010,右移两位的结果是00000010,也就是2,
也就是等于10/(2^2)=10/4=2
三、Ascall码运算
index = chs[i] - 'a';
表示,如果为a,index等于0