32位机上根据下面的代码,问哪些说法是正确的?
signed char a = 0xe0;
unsigned int b = a;
unsigned char c = a;
我的理解:值有两个,表面值和内存值。
如果是两个数据类型不同的值进行比较,先转换成int 型
其中,Unsign char (为正数)进行0扩展,
sign char(为负数的情况下)进行符号位扩展(即高位用1自动补齐)。
由于表面值不同(即数据类型不同),A选项和B选项错。