MISRA.UMINUS.UNSIGNEDOperand of unary minus is unsigned. MISRA-C Rule 12.9 (required): The unary minus operator shall not be applied to an expression whose underlying type is unsigned.Applying the unary minus operator to an expression of type unsigned int or unsigned long generates a result of type unsigned int or unsigned long respectively and is not a meaningful operation. Applying unary minus to an operand of smaller unsigned integer type may generate a meaningful signed result due to integral promotion, but this is not good practice. See section 6.10 for a description of underlying type. MISRA-C++ Rule 5-3-2 (required): The unary minus operator shall not be applied to an expression whose underlying type is unsigned.RationaleApplying the unary minus operator to an expression of type unsigned int, unsigned long or unsigned long long generates a result of type unsigned int, unsigned long or unsigned long long respectively and is not a meaningful operation. Applying unary minus to an operand of smaller unsigned integer type may generate a meaningful signed result due to integral promotion, but this is not considered good practice. ExampleOn a machine with a 32-bit int type: uint8_t a = -1U; // Non-compliant — a is assigned 255 int32_t b = -a; // Non-compliant — b is assigned -255 uint32_t c = 1U; int64_t d = -c; // Non-compliant — d is assigned MAX_UINT |