This is the HatByteProcessor which does all the bit masking, nothing special ;)
- Source:
Methods
-
<static> changeBit(data, index, value)
-
Change bit according to given value on data from index
Parameters:
Name Type Description dataNumber Unsigned integer value
indexNumber Unsigned integer value (0..7)
value* truthy | falsy
- Source:
Returns:
- Type
- Number
Example
changeBit(1, 0, false); // returns 0(dec) // 0000 0001 data // 1111 1110 mask ~ // ---------------- AND // 0000 0000 x1 // // 0000 0000 state // 0000 0001 mask // ---------------- AND // 0000 0000 x2 // // 0000 0000 (x1) // 0000 0000 (x2) // ---------------- OR // 0000 0000 result
-
<static> clearBit(data, index)
-
Set bit false on data from index
Parameters:
Name Type Description dataNumber Unsigned integer value
indexNumber Unsigned integer value (0..7)
- Source:
Returns:
- Type
- Number
Example
clearBit(1, 0); // returns 0(dec) // 0000 0001 mask // // 0000 0001 data // 1111 1110 ~mask // ---------------- AND // 0000 0000 result
-
<static> getByteNoAndBitPos(position)
-
Transforms a position (1..n) to byte index and inner bit position
Parameters:
Name Type Description positionNumber Unsigned integer value (1..n)
- Source:
Throws:
-
when position is <= 0
- Type
- Error
Returns:
- A new a BitByte instance
- Type
- BitByte
Example
getByteNoAndBitPos(1); // returns { byteNo: 0, bitPos: 0} getByteNoAndBitPos(256); // returns { byteNo: 31, bitPos: 7} -
<static> isFalse(data, index)
-
Check if bit is set false on index
Parameters:
Name Type Description dataNumber Unsigned integer value
indexNumber Unsigned integer value (0..7)
- Source:
Returns:
- Type
- boolean
Example
isFalse(13, 2); // returns false // 0000 1101 data // // 0000 0011 data (after data >>= index) // 0000 0001 // ---------- AND // 0000 0001 === 0000 0000 (false) //
-
<static> isTrue(data, index)
-
Check if bit is set true on index
Parameters:
Name Type Description dataNumber Unsigned integer value
indexNumber Unsigned integer value (0..7)
- Source:
Returns:
- Type
- boolean
Example
isTrue(13, 2); // returns true // 0000 1101 data // // 0000 0011 data (after data >>= index) // 0000 0001 // ---------- AND // 0000 0001 === 0000 0001 (true) //
-
<static> setBit(data, index)
-
Set bit true on data from index
Parameters:
Name Type Description dataNumber Unsigned integer value
indexNumber Unsigned integer value (0..7)
- Source:
Returns:
- Type
- Number
Example
setBit(0, 1); // returns 1 // 0000 0000 data // 0000 0001 mask // ---------------- OR // 0000 0001 result
-
<static> toggleBit(data, index)
-
Toggle (inverse) bit value on data from index
Parameters:
Name Type Description dataNumber Unsigned integer value
indexNumber Unsigned integer value (0..7)
- Source:
Returns:
- Type
- Number
Example
toggleBit(1, 0); // Returns 0(dec) // 0000 0001 mask // 0000 0001 data // --------------- XOR // 0000 0000 result