关于奇偶校验和正负数及进位

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

在书中,说到一个字节为九位,是代表内存和外部设备的一个存储单元,这里没有提到寄 存器。

奇偶校验规则,是指一个字节中,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(大于等于)的情况,那么会

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值