Monday, November 26, 2018

Understanding PHP & (ampersand, bitwise and) operator



I often use ($var & 1) in my code, which returns true if $var is an odd number and false if it's an even number.



But what does "&" actually do?


Answer



& is binary and. If you have a binary value, and you and with another binary value, then the result will be the bitwise and of the two. An example:




  01101010
& 01011001
= 01001000


The rightmost bit is either a 1 (and in that case the number is an odd number) or it is a 0, in which case the number is even. If you & a number with 1, you only look at the least significant bit, and the if checks if the number is a 1 or a 0. As others have mentioned, look at the bitwise operators for info on how they work.


No comments:

Post a Comment

plot explanation - Why did Peaches' mom hang on the tree? - Movies & TV

In the middle of the movie Ice Age: Continental Drift Peaches' mom asked Peaches to go to sleep. Then, she hung on the tree. This parti...