短数据类型扩展为长数据类型
1、要扩展的短数据类型为有符号数的
进行符号扩展,即短数据类型的符号位填充到长数据类型的高字节位(即比短数据类型多出的那一部分),保证扩展后的数值大小不变
2、要扩展的短数据类型为无符号数的
进行零扩展,即用零来填充长数据类型的高字节位
如1:unsigned char x=10001001b; short y=x; 则y的值应为00000000 10001001b;
1、要扩展的短数据类型为有符号数的
进行符号扩展,即短数据类型的符号位填充到长数据类型的高字节位(即比短数据类型多出的那一部分),保证扩展后的数值大小不变
如1:char x=10001001b; short y=x; 则y的值应为11111111 10001001b;
2:char x=00001001b; short y=x; 则y的值应为00000000 00001001b;2、要扩展的短数据类型为无符号数的
进行零扩展,即用零来填充长数据类型的高字节位
如1:unsigned char x=10001001b; short y=x; 则y的值应为00000000 10001001b;
2:unsigned char x=00001001b; short y=x; 则y的值应为00000000 00001001b;
长数据类型缩减为短数据类型
如果长数据类型的高字节全为1或全为0,则会直接截取低字节赋给短数据类型;如果长数据类型的高字节不全为1或不全为0,则转会就会发生错误。