MISRA.BITS.NOT_UNSIGNEDOperand of bitwise operation is not unsigned integer. MISRA-C Rule 12.7 (required): Bitwise operators shall not be applied to operands whose underlying type is signed.[Implementation 17—19] Bitwise operations (~, <<, <<=, >>, >>=, &, &=, ^, ^=, | and |=) are not normally meaningful on signed integers. Problems can arise if, for example, a right shift moves the sign bit into the number, or a left shift moves a numeric bit into the sign bit. See section 6.10 for a description of underlying type. MISRA-C++ Rule 5-0-21 (required): Bitwise operators shall only be applied to operands of unsigned underlying type.[Implementation 5.8(3)] RationaleBitwise operations (~, <<, <<=, >>, >>=, &, &=, ^, ^=, | and |=) are not normally meaningful on signed integers or enumeration constants. Additionally, an implementation-defined result is obtained if a right shift is applied to a negative value. Exampleif ( ( uint16_a & int16_b ) == 0x1234U ) // Non-compliant if ( ( uint16_a | uint16_b ) == 0x1234U ) // Compliant if ( ~int16_a == 0x1234U ) // Non-compliant if ( ~uint16_a == 0x1234U ) // Compliant |