我有这个代码:(假设短整数是16位宽,而整数是32位宽)
short int x = -5;
int y;
y = x;
左侧填充符号位以增加精度会改变负数的值吗?
答案 0 :(得分:2)
左边的填充(符号扩展名)和符号位增加精度会改变负数的值吗?
考虑到帐户@Amin Negm-Awad,当变量从一种类型分配到另一种类型时,和 值在两种类型中均可表示,如-5在int
或short
中,没有值,也没有精度更改。
如果类型为int
,short
,char
,float
等,则适用。如果整数类型为2的补码,则也适用。类型的大小没有区别。 Endian没有区别,值被保留。