数字音频技术(第6版) 39


分类:相关阅读 / 「数字音频技术(第6版)」

数字音频技术(第6版) 39
前一篇:数字音频技术(第6版) 38 下一篇:数字音频技术(第6版) 40
文本阅读:
  12数字音频技术(第6版)
  如同前面提到的一样,在二进制形式中可以用一个符号位表示负数。这样做虽然对人来说很方便,但对机器来
  是不合理的。这样做就需要为加法和减法配备各自独立的电路。相反,如果使用取模计数系统中的一个特殊性质,则可以用加法运算实现减法,虽然仍旧需要进位操作,但不需要借位操作了。具体地,现在不是把负数存储为一个符号和绝对值,而是将其编码成基数的补数形式。对于任意数制来说都存在两种类型的补数在"基数减-一"数制中,"基数减一"补数是在这个数的每用该数制的"基数减
  所得数字减去该位上的原数字得到的。对于十进制来说,这被称为9的补数,而对于二进制来说,则为1的补数。真正的补数是用"基数减分
  别减去每位数字,然后在最低比
  特上加1得到的。真正的补数在十进制中称为10的补数,在二进制中称为2的补数。通过基数的补数,在现有的数字上加上一个数将得到基数的下一个整数幂。例如,35的10的补数为65,因为35+65+102=100;1011的2的补数为0101,因为1011+0101=24=1000。由此出发,注意到补数是符号补数加1,因此符号补数可由数制中最大的符号减去原始数字而得到
  在二进制中构成1的补数和2的补数是很容易的,并能极大地加快执行进程。由于基数为2,因此每位二进制数字被1减。所以,要想得到1的补数,只需把所有的1用0替代、把所有的0用1替代,即令逐位取反。2的补数只要在逐位取反后再加1,并且要遵守所有位操作。例如,对于数0100,它的1的补数为1011,2的补数为100。这个由1的补数得到的2的补数是用处最广的。例如,表1.3所示为从+7到-7的各个数字的表示方法,其中负数用2的补数表示。正的2的补数与其负值相加总等于零十进制数
  二进制数
  1001
  表1.3:用2的补数表示正数和负数。