场景:将一个char 类型的数值转换为unsigned short类型
char 一个字节
unsigned short 二个字节
对于无符号数,我们直接在高位加零就可以了,也叫零扩展
对于有符号数, 执行符号扩展 。
举例: 注: char 类型范围为[-128~127]
char a = 127 0x01111111
有符号数,最高位为0, 扩展为unsigned short 为 0x01111111 00000000 (0x 7f 00) 前面是地位,后面是高位
char b = 128 (b 溢出) 0x10000000 符号位为1
扩展为unsigned short 为 0x10000000 11111111 (0x 80 ff)
附件是hex_dump 打印的结果