資源簡介
效驗和(checksum)
? 原理:把要發(fā)送的數(shù)據(jù)看成二進制整數(shù)序列,并計算他們的和。若數(shù)據(jù)字節(jié)長度為奇數(shù),則在數(shù)據(jù)尾部補一個字節(jié)的0以湊成偶數(shù)。
? 例子:16位效驗和計算,下圖表明一個小的字符串的16位效驗和的計算。為了計算效驗和,發(fā)送計算機把每對字符當(dāng)成16位整數(shù)處理并計算效驗和。如果效驗和大于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?*/
/**************************************/
/*????????????廣州大學(xué)????????????????*/
/*??????????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]/*運行參數(shù)*/“r+“))==NUL
- 上一篇:圖像直方圖均衡化C++實現(xiàn)
- 下一篇:C語言 語法分析器 源代碼
評論
共有 條評論