TCP/IP 中的二進(jìn)制反碼求和算法
更新時間:2012年04月03日 13:08:20 作者:
對于這個算法,很多書上只是說一下思路,沒有具體的實現(xiàn)。我在這里舉個例子吧
以4bit(計算方便一點,和16bit是一樣的)做檢驗和來驗證。
建設(shè)原始數(shù)據(jù)為 1100 , 1010 , 0000(校驗位)
那么把他們按照4bit一組進(jìn)行按位取反相加。 1100取反0011 , 1010取反是0101,0011加上0101 是1000,填入到校驗位后
1100 , 1010 , 1000
那么這個就是要發(fā)送的數(shù)據(jù)。收到數(shù)據(jù)后同樣進(jìn)行按位取反相加。0011+0101+0111 =1111;全為1表示正確
另外注意,當(dāng)?shù)匾徊接嬎阈r灪偷臅r候,有可能相加后最高位會有進(jìn)位,那么不能舍棄,一定要加到低位,才能是結(jié)果正確。
建設(shè)原始數(shù)據(jù)為 1100 , 1010 , 0000(校驗位)
那么把他們按照4bit一組進(jìn)行按位取反相加。 1100取反0011 , 1010取反是0101,0011加上0101 是1000,填入到校驗位后
1100 , 1010 , 1000
那么這個就是要發(fā)送的數(shù)據(jù)。收到數(shù)據(jù)后同樣進(jìn)行按位取反相加。0011+0101+0111 =1111;全為1表示正確
另外注意,當(dāng)?shù)匾徊接嬎阈r灪偷臅r候,有可能相加后最高位會有進(jìn)位,那么不能舍棄,一定要加到低位,才能是結(jié)果正確。
相關(guān)文章
Scala函數(shù)式編程專題--scala集合和函數(shù)
這篇文章主要介紹了scala集合和函數(shù)的的相關(guān)資料,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-06-06git merge --ff/--no-ff/--ff-only 三種選項參數(shù)的區(qū)別解析
這篇文章主要介紹了git merge --ff/--no-ff/--ff-only 三種選項參數(shù)的區(qū)別解析,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04uniApp微信小程序使用騰訊地圖定位功能及getLocation需要在app.json中聲明permission字段問
這篇文章主要介紹了uniApp微信小程序使用騰訊地圖定位功能及getLocation需要在app.json中聲明permission字段問題解決,需要的朋友可以參考下2022-12-12計算機(jī)網(wǎng)絡(luò)編程MQTT協(xié)議基礎(chǔ)原理詳解
這篇文章主要為大家介紹了計算機(jī)編程MQTT協(xié)議的基礎(chǔ)原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2021-11-11ascii碼表(二進(jìn)制 十進(jìn)制 十六進(jìn)制)詳細(xì)介紹
這篇文章主要介紹了ascii碼表二進(jìn)制 十進(jìn)制 十六進(jìn)制詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2017-01-01一個能生成精美代碼圖片的工具Carbon!讓看代碼成為一種享受
當(dāng)我們想展示自己寫的代碼給別人看的時候,希望讓代碼保持原有的格式,并且要美觀一點,有一個強(qiáng)大的在線工具可以幫助我們實現(xiàn),而且支持多種主題,他就是Carbon,需要的朋友可以參考下2021-05-05