在书中,说到一个字节为九位,是代表内存和外部设备的一个存储单元,这里没有提到寄 存器。
奇偶校验规则,是指一个字节中,1的个数一定得为奇数。为什么得说这样,大概是硬件规定的吧。或许我理解为因为1是指开的状态,得让
开的状态是要多于关的状态,这是硬件必须得有的吧
那么一个字节的中数据位1的个数为偶数时,得设置奇偶位为1,凑成奇数。同理,为奇数时,则设成0.
其实这个不必去管它,好象没什么意义。
下面谈谈正负数。
这是指把数作为有符号数来看的情况。实际上一个数到底是有无符号,取决于程序怎么看,就象一个数究竟是代表字符呢,还是纯粹数据呢也取决于程序编者一样的意思。
如果数的最高位是0,则是正数,最高位为1,刚为负数,那么这个负数当作正数看时,实际上是要大于规定的正数的。
以8位数为例,0000000-----01111111代表正数0----127,那么1000000-----11111111代表负数-128到-1。
再看1000000----11111111作为无符号数来看,是128到255,也说是说数值越大,负数越小。
也可以这么理解,这就象-1要大于-2,那么它代表的绝对正数也要大一些。
接下来关于进位的问题
在什么情况下会产生进位,
还是以八位为例来说。如果两个正数相加,那么是不会进位的。
正数最大的情况就是127加127,等于254,只有在大于255的情况之下才能有进位。
两个负数相加,是一定会产生进位的。
因为任何一个负数实际可以看成无符号数的大于127的值,大于127的值两个数相加,一定是大于255的,这就得用进位才能表示了。
比较复杂的情况就是正负相加。
书中举到两个例子都产生了进位,一个是-65+65,一个是-42+65,这两者相加得到的值是一个0,一个是正数
那么可以这么理解吧。如果正负相加得到的数是≥0(大于等于)的情况,那么会

本文探讨了奇偶校验的规则,解释了为何1的个数需为奇数,并指出其在实际应用中可能的意义。接着,文章介绍了有符号数的正负表示,强调最高位决定数的正负,并通过实例展示了正负数转换为无符号数的情况。最后,讨论了加法中的进位现象,特别是正负数相加时的进位规则,总结了何时会产生进位的情况。

1万+

被折叠的 条评论
为什么被折叠?



