符号扩展和零扩展(深入理解计算机系统)

-

不同字长的整数之间的转换有2种

1
符号扩展(有符号数)


1
零扩展(无符号数)

例如

1
2
short x=-1 //二进制补码:10000001;
int y=x; //二进制补码:1111111110000001;

上面就是二进制符号扩展。

1
2
short x=-1 //二进制补码:10000001;
unsigned int y=x; //二进制补码:0000000010000001;

零扩展。