符号扩展(Sign Extension)是计算机组成原理中的一个概念,它的作用是将一个较小的数据字长扩展到一个较大的数据字长,同时保持原有的数值和符号。当对一个有符号的整数进行符号扩展时,扩展的位(即新增的位)将复制原始数值的最高位(符号位)。这是因为在计算机中,有符号整数通常使用补码表示法,其中最高位用于表示符号,0代表正数,1代表负数。
例如,如果有一个8位的有符号整数1111 0101(以补码形式),它代表了一个负数。如果我们将它扩展到16位,那么我们需要将符号位(在这个例子中是1)复制到所有的新增位,以确保扩展后的数值保持不变。因此,扩展后的数值将是1111 1111 1111 0101。