GETBIT gets the bit specified by target_bit_arg from the target_arg byte expression and returns either 0 or 1 to indicate the value of that bit.
The range of input values for target_bit_arg can vary from 0 (bit 0 is the least significant bit) to the (sizeof(target_arg) - 1).
If target_bit_arg is negative or out-of-range (meaning that it exceeds the size of target_arg), an error is returned.
If either input argument is NULL, the function returns NULL.