ANSI C 中的整型提升(char convert to int) 隐式执行的。
整型提升是C程序设计语言中的一项规定:在表达式计算时,各种整形首先要提升为int类型,如果int类型不足以表示则要提升为unsigned int类型;然后执行表达式的运算。
所以 char a = 0x45;
int b=a<<20;//是可以的。
但是这不会改变a的值。不过是双目运算符而已。
ANSI C 中的整型提升(char convert to int) 隐式执行的。
整型提升是C程序设计语言中的一项规定:在表达式计算时,各种整形首先要提升为int类型,如果int类型不足以表示则要提升为unsigned int类型;然后执行表达式的运算。
所以 char a = 0x45;
int b=a<<20;//是可以的。
但是这不会改变a的值。不过是双目运算符而已。