二進位制反碼求和
在看TCP/IP 時,看到IP 協議中有個 首部檢驗和 是用的 二進位制反碼求和。 不太理解,上網搜到了一個答案,記載下面。
以4bit(計算方便一點,和16bit是一樣的)做檢驗和來驗證。
假設原始資料為 1100 , 1010 , 0000(校驗位)
那麼把他們按照4bit一組進行按位取反相加。 1100 取反0011 , 1010 取反是0101,校驗位的計算就是 0011加上0101 是1000,填入到校驗位上
於是傳送的資料就是
1100 , 1010 , 1000
收到資料後同樣進行按位取反相加。0011+0101+0111 =1111;全為1表示正確 。 等於是 自己加上自己的取反, 那麼 結果肯定應該是全1 。如果傳輸正確的話。
相關文章
- 理解二進位制原碼、反碼、補碼
- 二進位制的原碼、反碼、補碼
- 每日一練(39):二進位制求和
- Add Binary 二進位制求和
- 二進位制原碼、反碼、補碼詳解
- 計算機二進位制中的原碼,反碼,補碼計算機
- LeetCode刷題之路:67. 二進位制求和LeetCode
- ASCII碼是幾位二進位制碼?ASCII
- 二進位制與二進位制運算
- js二進位制和十進位制轉換程式碼JS
- 進位制詳解:二進位制、八進位制和十六進位制
- JavaScript 二進位制、八進位制與十六進位制JavaScript
- (二進位制)
- 二進位制
- 十進位制——二 (八、十六 )進位制
- 讓我們一起啃演算法----二進位制求和演算法
- 二進位制,八進位制,十進位制,十六進位制的相互轉換
- 【進位制轉換】二進位制、十六進位制、十進位制、八進位制對應關係
- 二進位制、十進位制與十六進位制相互轉化
- 二進位制入門--動態跟蹤原始碼和反彙編程式碼原始碼
- java中二進位制、八進位制、十進位制、十六進位制的轉換Java
- 二進位制,八進位制,十進位制,十六進位制之間的轉換
- Python 進位制互相轉換(二進位制、十進位制和十六進位制)Python
- 計算機基礎進位制轉換(二進位制、八進位制、十進位制、十六進位制)計算機
- 十進位制轉換為十六進位制和二進位制程式碼例項
- 二進位制轉十進位制快速方法
- JAVA 二進位制,八進位制,十六進位制,十進位制間進行相互轉換Java
- 費納姆密碼-二進位制密碼密碼
- 什麼是二進位制?二進位制如何轉換?
- 簡單二進位制編碼(SBE)
- 04 二進位制
- 大話二進位制,八進位制,十進位制,十六進位制之間的轉換
- JavaScript十進位制轉換為二進位制JavaScript
- Oracle二進位制與十進位制轉換Oracle
- 十進位制轉二進位制推導(草稿)
- [計算機基礎] 計算機進位制轉換:二進位制、八進位制、十進位制、十六進位制計算機
- 一看就懂二進位制、八進位制、十六進位制數轉換十進位制
- python進位制轉換(二進位制、十進位制和十六進位制)及注意事項Python