【答案解析】[答案要点]
将IP数据报分成16位一组的序列,并把校验和字段置零,用反码算术运算把所有16位字相加后,将得到的和的反码写入校验和字段,如下所示:
所以应当写入校验和字段的二进制为10001011 10110001。
可能疑问点:什么是按二进制反码运算求和?
[解析] 两个数的二进制反码求和的运算规则如下:
1)从低位到高位逐列进行运算。
2)0+0=0,0+1=1,1+1=0(进位1加到下一列)。
3)如果最高位相加产生进位,需要对最后的结果加1。
例 按照以上规则下面两个数的结果应该是什么?
0100 1111 0001 1010
0111 1010 0001 1000
先求出反码(反码即将所有位取反),然后进行相加,如下所示: