如何手工快速 準確計算CRC校驗碼?

時間 2023-02-10 05:45:09

1樓:開元南希

我先給你舉個例子:

已知資訊位為1100,生成多項式g(x) =x3+x+1,求crc碼。

m(x) =1100 m(x)*x3 = 1100000 g(x) =1011

m(x)*x3 / g(x) =1110 + 010 /1011 r(x) =010

crc碼為: m(x)*x 3+r(x)=1100000+010 =1100010

其原理是:crc碼一般在k位資訊位之後拼接r位校驗位生成。編碼步驟如下:

(1)將待編碼的k位資訊表示成多項式 m(x)。

(2)將 m(x)左移 r 位,得到 m(x)*xr 。

(3)用r+1位的生成多項式g(x)去除m(x)*xr 得到餘數r(x)。

(4)將m(x)*xr 與r(x)作模2加,得到crc碼。

你可以把那道題發給我,一起研究!我的。

2樓:汐浪生講迷

暈,當然要編個程式計算了,手工會死人的……

3樓:千里江陵百日還

模2除法 也可以先算一位!

4樓:匿名使用者

這個嘛相當氣憤,是這樣的。沒辦法。

crc校驗碼怎麼得出來的

5樓:gta小雞

你知道有限域或者模2除法嗎?不知道那下面就沒法講了。

crc演算法基於有限域gf(2),通過在p位資料後附加r位校驗構成crc校驗碼。r位校驗碼的生成是由校驗資料模2除一個不可約多項式g(x)得到的,g(x)常用取值有420、84210、8541等(每一位數字代表該數字對應的項係數是1)。

我通過一個例子簡單說明一下演算法過程:

假設crc校驗為(7,4),即7位crc碼,其中4位為資料位,3位為校驗位。用於生成的不可約多項式為g(x)=x³+x+1=1011=310。

現在需要傳輸的資料m(x)為1101=x³+x²+1。首先乘以x³,即在後面添3個零,變成1101000。接著計算有限域gf(2)=f2[x]/g(x)下x^6+x^5+x^3的同餘式,即用g(x)=1011模2除1101000,得到結果為1111餘001,這個餘數001就是我們所求的校驗碼。

將餘數001新增到原多項式m(x)末尾,變成1101001,這個序列就是最終的crc校驗碼。

crc碼的計算方法

6樓:慧科訊業

給資訊碼補5個0,然後去除多項式,餘數就是較驗碼。

7樓:匿名使用者

資訊碼添四個零,去除多項式,得到餘數,為***

那麼傳送的12個位元就是11001101***

computer networks 自頂向下方法書裡有!

modbus中如何計算crc效驗(人工計算)

8樓:之何勿思

在crc計算時只用8個資料位,起始位及停止位,如有奇偶校驗位也包括奇偶校驗位,都不參與crc計算。

crc計算方法是:

1、 載入一值為0xffff的16位暫存器,此暫存器為crc暫存器。

2、 把第一個8位二進位制資料(即通訊資訊幀的第一個位元組)與16位的crc暫存器的相異或,異或的結果仍存放於該crc暫存器中。

3、 把crc暫存器的內容右移一位,用0填補最高位,並檢測移出位是0還是1。

4、 如果移出位為零,則重複第三步(再次右移一位);如果移出位為1,crc暫存器與0xa001進行異或。

9樓:匿名使用者

我搞過modbus,對它很熟悉,用c++編過幾千行**,程式一直在執行著。

modbus 的crc不是簡單的相加運算,挺複雜的,所以,要手工算很麻煩。

如果你c**看不懂,就很難搞清這個crc運算的,演算法有兩種:

慢速的:要移位運算;高速的:有一個很大的對照表,你說怎能用手工說清楚?!

計算程式我有,不貼了,反正你也不想看。

求crc校驗計算方法

10樓:風若遠去何人留

你這個是crc16

要實現校驗的話,你首先需要知道對方採用的是何種crc公式不同的crc公式 得到的校驗碼是不一樣的。

在知道公式的情況下。

做crc表,然後按照crc演算法,計算這8個位元組的整體crc如果傳輸沒有錯誤的話,最終的crc值是0

也可以計算前六個的crc,然後和最後兩個位元組比較,效果是相同的。

急!如何計算0000010001110110的crc錯誤校驗碼 15

11樓:匿名使用者

crc8結果11011101

計算演算法如下:

①初始化 crc 暫存器中的值為 00h。②將傳輸或接收的資料位與 bit7比較。③如果該資料位與bit7相同 ,將 crc 暫存器中的值向高位移1位 , 並置bit0 =『0』。

否則將 crc暫存器中的值向高位移1位 ,然後將bit4和 bit5 反相 ,置bit0 =『1』。④傳輸或接收新的資料位 ,然後重複 ②。將上述生成的值完全倒轉(bit0 = bit7 ,bit1 = bit6 ,

. bit7 = bit0)就是crc值 。

如何快速記音階,怎麼樣準確快速的記住音階

李丹辰 每5品是一個區間,第一區間是0品到4品。首先第一區間的6弦的0品開始從左到右是一個正常的唱音走向,而5弦0品剛好續上了6弦3品的音也是正常的走向,不難看出5弦4弦3弦2弦1弦都是一樣的,不同的是到了3弦4品和2弦0品的時候有兩個xi重複,而這個xi在整個4品只有一個音,所以非常好記。這樣就記...

如何才能快速準確地給自己定位,如何給自己一個準確的定位

每個人在人生旅程中,都會經歷這樣個一個時段。覺得很迷茫,看不到未來的方向。就我個人的經歷,僅供參考。曾經有一段時間,我非常的迷茫,不知道應該做什麼,幹什麼事情,看不見未來,覺得一切都很難。感覺非常的痛苦!這個時候,我想起在高中的時候看過一本書 拉破倫。希爾寫的書 思考致富。回想起書中的意思,總之是要...

如何簡易手工繪製中國地圖,如何最快速地用手繪製中國地圖 要在白紙上的那種 不借助任何的工具

1 首先新疆 內蒙古,就是一個下彎的圓弧,左上角一個三角,左下角一個圓弧。2 就是繪製雞頭,不要忘記遼寧半島和雲南省突出的地方。3 然後將地圖補充完整,右下角就是一個渾圓的雞肚子,不要忘記廣東半島突出的地方,現在整個中國形狀就完成了。4 不要忘記兩個島嶼,海南島和臺灣島。5 下面開始繪製各省地圖,最...