Namespace: HatByteProcessor

HatByteProcessor

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
data Number

Unsigned integer value

index Number

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
data Number

Unsigned integer value

index Number

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
position Number

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
data Number

Unsigned integer value

index Number

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
data Number

Unsigned integer value

index Number

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
data Number

Unsigned integer value

index Number

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
data Number

Unsigned integer value

index Number

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