词条 | 变形补码 |
释义 | 概述变形补码,即用两个二进制位来表示数字的符号位,其余与补码相同。变形补码,用“00”表示正,用“11”表示负,也称为模4的补码。用变形补码进行加减运算时,当运算结果的符号位出现“01”或者“10”时,则表示产生溢出。变形补码的最高位(第一个符号位)总是表示正确的符号,比如"00"、 “01”分别表示正数、正溢出(上溢),"11"、“10”表示负数、负溢出(下溢)。 总的说来就是符号位左边那一位表示正确的符号,0为正,1为负;右边那一位如果和左边的相同,如 "00”表示正且无溢出,"11"表示负且无溢出。如果右边那一位与左边那一位不一样,则表示有溢出。 示例1、产生01的情况: 补码: 0 111 + 0 010 ———— 1 001 两个正数相加出现了负数,明显有误,就是说此时产生了上溢出(注:补码运算时符号位也参与运算) 变形补码: 00 111 + 00 010 ———— 01 001 此时读数时,由于左边的符号位是0,所以表示正数,读成+9,而不像模二补码中变成了-7 2、产生10的情况: 补码: 1 001 + 1 010 ———— 10 011 溢出一位后,结果变成了0 011,两个负数相加出现了正数,明显有误,就是说此时产生了下溢出(注:补码运算时符号位也参与运算) 变形补码: 11 001 + 11 010 ———— 110 011 溢出一位后,结果变成了10 011,此时读数时,由于左边的符号位是1,所以表示负数,读成-13,而不像模二补码中变成了+3 (注:产生01和10时,读数时右边那一位符号也要算在数字里面) |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。