位填充(C)

时间:2017-03-20 17:38:58

标签: c padding bit sign short

我有这个代码:(假设短整数是16位宽,而整数是32位宽)

short int x = -5;
int y;
y = x;

左侧填充符号位以增加精度会改变负数的值吗?

1 个答案:

答案 0 :(得分:2)

  

左边的填充(符号扩展名)和符号位增加精度会改变负数的值吗?

考虑到帐户@Amin Negm-Awad,当变量从一种类型分配到另一种类型时, 在两种类型中均可表示,如-5在intshort中,没有,也没有精度更改。

如果类型为intshortcharfloat等,则适用。如果整数类型为2的补码,则也适用。类型的大小没有区别。 Endian没有区别,被保留。