Job*_*obs -1 c terminology definition notation
我读过:"就像一个unsigned int,但是o ff设置为 - (2 ^(n-1) - 1),其中n是数字中的位数.旁边:从技术上讲,我们可以选择任何偏好,但是这里提出的选择非常普遍." - http://inst.eecs.berkeley.edu/~cs61c/sp14/disc/00/Disc0.pdf
但是,我不明白这一点.有人可以用例子向我解释这个吗?另外,我什么时候应该使用它,给出其他选项,如一个人的赞美,签名和杂志,以及两个人的赞美?
"表示"是一种对信息进行编码的方式,以便从编码信息中提取细节或推断.
大多数现代CPU使用"二进制补码表示法"表示"数字".他们这样做是因为很容易设计数字电路,可以快速对这些值进行算术运算(加,减,乘,除......).二进制补码还具有很好的特性,可以将最高有效位解释为二次幂(给出"无符号数")或作为符号位(给出有符号数),而基本上不改变用于实现的任何硬件算术.
较旧的机器使用其他基础,例如,在60年代非常常见的是将数字表示为插入4位可寻址半字节的二进制编码十进制数字集的机器(IBM 1620和1401就是这样的例子).因此,您可以用不同的方式表示相同的概念或价值.
一个偏置只是意味着你选择(的数字)的任何表示,已经将一个恒定的偏置到该值.据推测,这样做可以使某些事情更有效地完成.我不能说" - (2 ^(n-1) - 1)"是"非常普遍的(偏见)"; 我做了大量的汇编和C编码,并且发现不需要"偏置"值.
但是,有一个常见的例子.现代CPU主要实现IEEE浮点,它存储带符号,指数,尾数的浮点数.指数是2的幂,在零附近对称,但如果我没记错的话,偏差为2 ^(N-1),对于N位指数.
通过使用标准机器二进制补码指令而不是特殊浮点指令,这种偏差允许使用相同符号的浮点值进行比较等于/小于/更大,这意味着有时可以避免使用实际浮点比较.(有关暗角的详细信息,请参阅http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm).[感谢@PotatoSwatter在这里注意到我的初步答案的不准确性,并让我去挖掘它.]