C語言中的模2除法: 模2除做法與算術除法類似,但每一位除(減)的結果不影響其它位,即不向上一位借位。所以實際上就是異或。然后再移位移位做下一位的模2減。 步驟如下: a、用除數對被除數最高n位做模2減,沒有借位。 (模2減規則:0-0=0 0-1=1 1-0=1 1-1=0) b、除數右移一位,若余數最高位為1,商為1,並對余數做模2減。若余數最高位為0,商為0,除數繼續右移一位。 c、一直做到余數的位數小於除數時,該余數就是最終余數。 舉例: 1. 1100100÷1011 = 1110.....110 1011 ———————— 1011|1100100 1011 ———— 01111 1011 ———— 01000 1011 ———— 00110 2. 1111000÷1101 = 1011.....111 1011 ———————— 1101|1111000 1101 ———— 00100 0000 ———— 01000 1101 ———— 01010 1101 ———— 0111
用於實現CRC校驗算法。