69一区二三区好的精华液,中文字幕无码av波多野吉衣,亚洲精品久久久久久无码色欲四季,日本不卡高字幕在线2019

您申請加入課程:Computer  Networks  B
需要驗證您的身份,請輸入請求信息:
您的學號:
班級選擇:
附注信息:
  • 創建者

    Creator

    曾德澤
  • 活躍度

    Activeness

  • 訪問量

    Visits

    1813

教學公告

CRC校驗上機實驗
[作者: 曾德澤  發布時間:2015-06-05 19:46:04  瀏覽次數:743次]

CRCcyclical redundancy check) 循環冗余校驗,在《計算機組成原理》里面有這個知識點。類似的校驗有奇偶校驗、校驗和校驗。

可以簡單的理解成在發送數據后面加上這個驗證碼,判斷前面數據是否正確。

接收方如何檢查收到的信息有無錯誤(一個簡單通俗的模型) 首先接收方和發送方約定一個“生成多項式”g(x);

生成多項式的選取是個很有難度的問題,如果選的不好,那么檢出錯誤的概率就會低很多。好在這個問題已經被專家們研究了很長一段時間了,對于我們這些使用者來說,只要把現成的成果拿來用就行了。在本次課程上,我們寫一個簡單的程序來生成CRC碼,然后做驗證。


模板:



#include

#include

#include

#include



typedef unsigned char uchar;

typedef unsigned short ushort;

typedef unsigned int uint;


/************************************************************************/

/* 產生CRC16多項式(0x1021)的校驗碼(只能處理單個字節)

/************************************************************************/

void crc16_one_byte(const uchar data, ushort &crc)

{

}


/************************************************************************/

/* 產生CRC32多項式(0x04C11DB7)的校驗碼(只能處理單個字節)

/************************************************************************/

void crc32_one_byte(const uchar data, uint &crc )

{

}



/************************************************************************/

/* 產生CRC16多項式(0x1021)的校驗碼(能處理多個字節)

/* CRC32類似

/************************************************************************/

void crc16_multi_byte(const uchar data, ushort &crc)

{

}



/************************************************************************/

/* 得到發送的數據

/* 對應于CRC16校驗,CRC32類似

/************************************************************************/

void getSendData(const uchar data, char *sendData, ushort &crc16)

{

}


/************************************************************************/

/* 驗證接收到的數據

/* 對應于CRC16校驗,CRC32類似

/************************************************************************/

void checkout_data(char *sendData)

{

}


int main( void )

{

char sendData[10] = {0};

uchar data = 'a';

ushort crc16 = 0;

//得到CRC16的校驗碼

crc16_one_byte(data, 8, crc16);

//拼接得到需要發送的數據

getSendData(data, sendData, crc16);

//驗證數據

checkout_data(sendData);


return 0;

}




相關課程

掃一掃二維碼,快速加入本課程!

放大二維碼 查看使用方法
關閉
主站蜘蛛池模板: 达拉特旗| 天祝| 皋兰县| 镇远县| 黎川县| 石棉县| 甘肃省| 兴仁县| 凤城市| 北海市| 大同市| 天台县| 平果县| 嵊州市| 沅江市| 石楼县| 镇原县| 遵义县| 通江县| 松溪县| 巴林左旗| 东城区| 南丹县| 阜新市| 鄯善县| 平塘县| 罗源县| 兴宁市| 八宿县| 湘潭县| 衡南县| 沙湾县| 茶陵县| 多伦县| 安西县| 上饶县| 永平县| 启东市| 武功县| 绥化市| 莲花县|