Boolean data is the simplest form of data and has only two possible values, zero or one. Thus, it can be stored in the simplest data type, a Bit. For the sake of efficiency, a series of individual Boolean values can be packed in larger data types, like Bytes (8 Bits), Words (16 Bits), etc.  

    In order to extract Boolean data from a more complex data type (like a Byte), you need a way to map the location of the Bit, which is the function of “Bit Picking.”  

    Two pieces of information are needed to locate the Bit of interest, 1) the starting point, and 2) how far to travel from the starting point in order to arrive.

    The starting point is fixed by the Least Significant Bit or the Most Significant Bit. The Least Significant Bit (or LSB) is the lowest order bit in binary numbers and is located at the rightmost or leftmost position, depending on the computer’s architecture. For the sake of discussion, we will presume the rightmost architecture going forward. For a Byte value of “00000001,” the “1” occupies the position of the least significant Bit. The Most Significant Bit (or MSB) is the highest-order bit in a binary number and is located at the opposite end of the LSB. 

    Once the starting point is established, the desired bit is located by counting the number of bit positions away from that point. With an 8-bit Byte, the bit address has eight possible positions. Computers begin counting at zero rather than one, so your address will be a number between 0 and 7. Assuming an LSB index, the one in the binary value 00100000 has an address of five. It is determined by starting on the right-hand side, with the LSB occupying the “zero” position.  

    WIN-911 supports Bit-picking as a method of evaluating Boolean values which are packed in “multi-bit” data types. For the example of 00100000 the user would enter an LSB Index of 5 or an MSB Index of 2.  

    Bit picking is available for “Boolean” and “No Alarm” alarm types.