資源簡介
效驗和(checksum)
? 原理:把要發送的數據看成二進制整數序列,并計算他們的和。若數據字節長度為奇數,則在數據尾部補一個字節的0以湊成偶數。
? 例子:16位效驗和計算,下圖表明一個小的字符串的16位效驗和的計算。為了計算效驗和,發送計算機把每對字符當成16位整數處理并計算效驗和。如果效驗和大于16位,那么把進位(carry)一起加到最后的效驗和中。
H e l l o w o r l d .
4865 6C6C 6F20 776F 726C 642E
4865+6C6C+6F20+776F+726C+642E+carry=71FC
代碼片段和文件信息
/*?Note:Your?choice?is?C?IDE?*/
/**************************************/
/*????????????廣州大學????????????????*/
/*??????????05軟件工程1班?????????????*/
/*??????????captain_black?????????????*/
/*????????????????????????????????????*/
/*???????????2008.10.6????????????????*/
/**************************************/
//
#include?“stdio.h“
int?main(int?argc?char*?argv[])
{
unsigned?int?fdata=0c=0H=0L=0;
unsigned?int?sum=0;
unsigned?int?carry=0;
FILE?*fp;
if(argv[1]==‘\0‘)?{printf(“缺少文件名請輸入要檢驗的文件名!“);return?0;}
printf(“\n---------------------------------------------\n“);
if((fp=fopen(argv[1]/*運行參數*/“r+“))==NUL
- 上一篇:圖像直方圖均衡化C++實現
- 下一篇:C語言 語法分析器 源代碼
評論
共有 條評論