(1) 按位與 & : 二進(jìn)制取位操作。 例如一個(gè)數(shù) & 1的結(jié)果就是取二進(jìn)制最末位,這可以用來判斷一個(gè)數(shù)的奇偶性。如果二進(jìn)制最后一位是0, 則表示偶數(shù),1表示奇數(shù).? (規(guī)則:相同位,都為1,則1,有一個(gè)為0,則為0)
eg:00101
? ? ?11100
= ? 00100
(2)按位或 | : 二進(jìn)制取位操作。 例如一個(gè)數(shù) | 1 的結(jié)果就是強(qiáng)行把二進(jìn)制末位變成1 . ?其實(shí)際意義是 求一個(gè)數(shù)最近的奇數(shù), | 1后在減1,即可得到。:(規(guī)則:相同位,有1則1,無1則0)
(3)按位異或 ^ ?: 例如,一個(gè)數(shù)先^12345加密,在^12345解密(規(guī)則:相同位,不同則為1,相同則為0)
eg: 00101
? ? ? 10101
= ?10000
(4)<< 左移操作:a<<b代表把a(bǔ)轉(zhuǎn)換成二進(jìn)制數(shù)以后,左移b位(后面增加b個(gè)0).例如100的二進(jìn)制1100100,<<2后是110010000轉(zhuǎn)換成十進(jìn)制是400。那么100<<2就是400.實(shí)際等于a* 2^b(a乘2的b次方)。
通常認(rèn)為a<<1比a*2更快
(5)>>右移操作:a>>b 代表把a(bǔ)右移b位(去掉末b尾),相當(dāng)于a/2^b (取整)用來代替/2操作。