该byte值11010100表示负数(-44),因为设置了最高有效位.当这经历了原始的加宽转换时,它仍然必须在二进制补码表示中表示相同的负值.这是使用符号扩展完成的.这意味着所有新位都与原始符号位相同.
11010100 => -44
11111111 11111111 11111111 11010100 => -44
Run Code Online (Sandbox Code Playgroud)
如果没有发生这种情况,则符号位将不再是符号位,并且它将被解释为"正常",并且该值将不再相同.
00000000 00000000 00000000 11010100 => 212
Run Code Online (Sandbox Code Playgroud)