今天在鼓搗乙個手持操作器的時候,遇到一點問題,記錄一下今天的經驗包
由於之前公司產品在校驗時基本上都是和校驗,今天在準備用c#模擬乙個古董操作器的時候,卻遇到乙個問題,模擬器發出的資料,主機板一律不回覆,對比通訊協議也沒發現什麼問題。由於文件有些不全,只是知道通訊格式,對比之後覺得應該是校驗出了問題。由於crc校驗是資料通訊領域最常用的校驗方式,問了幾個老傢伙之後才知道這個四位元組ascii碼校驗和應該是crc16-ccitt生成的,然後就去仔細看大學時候煞筆了很久也沒明白的crc校驗的細節。
具體crc如何生成我不闡述了,關鍵點在於「生成多項式」和初始值。
crc16-ccitt的生成多項式是 0x1021;
不多說了,提供**crc16-ccitt類
publicclass
crc16ccitt
const
ushort poly = 4129
;
ushort table = new
ushort[256
];
ushort initialvalue = 0
;
public
crc16ccitt(initialcrcvalue initialvalue)
else
a <<= 1
; }
table[i] =temp;}}
public
ushort computechecksum(byte
bytes)
return
crc;
}public
ushort computechecksum(listlisttemp)
return
crc;
}public
byte computechecksumbytes(byte
bytes)
public
byte listtobytes(listlisttemp)
return
bytes;
}}
最後,請叫我紅領巾
雜談,一點感悟
今晚與老領導交流,談及目前開發部門的相關事情,感觸良多。邁入管理工作之門也有一段時間了,都說管理無小事,但這段時間以來,一直都是被各種不同身份的工作所纏繞著,感覺縱有三頭六臂也無法完成。管理工作 專案工作 技術工作 其實對我而言,管理工作方是我的主要工作,但管理工作要出成績也並不容易。難就難在目前的...
一點小感悟
今天去了華為的機試,說實話,題目不是很難,但是自己並沒有發揮的很好,只寫出來一題半,第一題非常簡單 兩個兩位數a,b,輸出乙個四位數,將a的十位和個位放到c的十位和百位上,b的十位和個位放到c的個位和千位上,直接轉化為字串拼接一下就行。第二題有點難度 給出1,3,9,27,81,這幾個數,輸入1 1...
又是一點感悟
今天去參加了乙個技術人員的聚會,席間基本上以80後的各種前輩居多,跟他們交流也產生了一些感悟,再加上前段時間的一些經歷和感悟,特此記錄下來。乙個技術人員的核心競爭力是什麼,如果你工作幾年之後再去看乙個演算法,跟乙個校招新人去看乙個演算法有什麼區別嗎,你跟別人比的優勢又在 除了純粹的技術之外,你的其他...