二进制补码
二进制补码是一种在寄存器中存储双极数据的常用方法。传统上,数据被安排在寄存器中,因此最有效位是符号位(1为负,0为正),其余的位代表数据。正数据不需要任何特殊操作就可以读取,而负数据往往需要一些位操作才能准确读取数据。
为了读取负面数据,用户可以使用两种方法中的一种进行转换(尽管这不是唯一的方法)。一种方法是去掉符号位(MSB),反转所有位(~操作符),然后在结果中加上1。这将产生预期的结果(尽管没有负号)。下面是一个8位数字的例子:
或者,用户可以将2的补数的无符号值(本质上是把这个数当作不是2的补数来读取)加到-2NN是表示数字的位数。下面是一个8位数字的例子:
关于Two's Complement的附加信息可以在其上找到维基百科的文章.