This page (revision-1) was last changed on 29-Nov-2024 16:16 by UnknownAuthor

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 1 added 352 lines
!!! 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' }]