!!! Overview [{$pagename}] takes two __equal-length__ [binary] representations and performs the logical AND operation on each pair of the corresponding [bits], which is equivalent to multiplying them. Thus, if both bits in the compared position are 1, the [bit] in the resulting binary representation is: * 1 (1 × 1 = 1) * 0 (1 × 0 = 0 and 0 × 0 = 0). [{$pagename}] [example]: * 0101 ([decimal] 5) [{$pagename}] * 0011 ([decimal] 3) = * 0001 ([decimal] 1) [{$pagename}] may be used to determine whether a particular bit is set (1) or clear (0). \\For example, given a bit pattern 0011 (decimal 3), to determine whether the second bit is set we use a bitwise AND with a bit pattern containing 1 only in the second bit: * 0011 ([decimal] 3) [{$pagename}] * 0010 ([decimal] 2) = * 0010 ([decimal] 2) Because the result 0010 is non-zero, we know the second [bit] in the original pattern was set. This is often called [bit] masking. (By analogy, the use of masking tape covers, or masks, portions that should not be altered or portions that are not of interest. In this case, the 0 values mask the bits that are not of interest.) [{$pagename}] may be used to clear selected bits (or flags) of a register in which each [bit] represents an individual [Boolean] state. This technique is an efficient way to store a number of [Boolean] values using as little memory as possible.\\ For example, 0110 (decimal 6) can be considered a set of four flags, where the first and fourth flags are clear (0), and the second and third flags are set (1). The second bit may be cleared by using a bitwise AND with the pattern that has a zero only in the second bit: * 0110 ([decimal] 6) [{$pagename}] * 1101 ([decimal] 13) = * 0100 ([decimal] 4) Because of this property, it becomes easy to check the parity of a [binary] number by checking the value of the lowest valued bit. Using the example above:\\ * 0110 ([decimal] 6) [{$pagename}] * 0001 ([decimal] 1) = 0000 ([decimal] 0) Because 6 AND 1 is zero, 6 is divisible by two and therefore even. !! More Information There might be more information for this subject on one of the following: [{ReferringPagesPlugin before='*' after='\n' }]