------------------------------------------------------------------------------------------------------------------------------
"A character, a short integer, or an integer bit-field, all either signed or not, or an object of enumeration type, may be used in an expression wherever an integer maybe used. If an int can represent all the values of the original type, then the value is converted to int; otherwise the value is converted to unsigned int. This process is called integral promotion."
------------------------------------------------------------------------------------------------------------------------------------------------
(戳)MISRA C: Motor Industry Software Reliability Association
整数提升描述了一个过程,借此过程数值操作总是在int 或long(signed 或unsigned)整型操作数上进行。其他整型操作数(char、short、bit-field 和enum)在数值操作前总是先转化为int 或unsigned int 类型。这些类型称为small integer 类型。整数提升的规则命令,在大多数数值操作中,如果 int 类型能够代表原来类型的所有值,那么small integer 类型的操作数要被转化为int 类型;否则就被转化为unsigned int。