用法:有符号向无符号转换的时候
如果把字符处理为无符号的,那么int的高位全部补0;
零扩展:(针对无符号)将一个无符号数转换成一个更大的数据类型,我们只需简单的在表示开头添加0,这种运算称为零扩展。
符号扩展:将一个补码数字转换成为一个更大的数据类型可以执行符号扩展,规则是在表示中添加最高有效位置的副本。直接把符号位 扩展
000A ——> 0000 000A
800A ——> FFFF 800A
如果把字符处理为有符号的,那么int的高位与char放在内存的数据的最高为扩展,例如char c=-2,在内存里面格式为11111110,那么int a=c,a的格式为11111111 11111110,如果char c=2,在内存的存放为00000010,那么int a=c,a的格式为00000000 00000010
数位压缩:弃高位 留低位 32位
F12B 800A ——> 800A
02A0 F12C ——> F12C
参考:
http://blog.csdn.net/andy205214/article/details/4975636