0.前言
今日,在学习谢希仁版计网的IP数据报格式时看到这段话:
- 用反码算术运算把所有16位字相加后,将得到的和的反码写入检验和字段。
非常疑惑,因为印象中对反码的理解是:
-
正数的反码是其本身
-
负数的反码是在其原码的基础上, 符号位不变,其余各个位取反
在网上搜索许久无果,关于反码的定义都是我印象中那样,直到看到了书中的注释:
- ③两个数进行二进制反码求和的运算很简单…
恍然大悟,搜索"二进制反码"
1.二进制反码
1.1 由来
- 二进制反码(one’s complement)是2018年公布的计算机科学技术名词。
1.2 定义
- 将一个二进制数中的1变为0、0变为1以后所得的数。例如,1101010的反码为0010101。
特记下此问题,以方便某个小可爱没有和我一样没注意下方注释,而浪费大量时间查找T.T
参考文章:
https://baike.baidu.com/item/%E4%BA%8C%E8%BF%9B%E5%88%B6%E5%8F%8D%E7%A0%81/53201556?fr=aladdin
https://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html