乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      網(wǎng)際校驗(yàn)和(InternetChecksum)算法(C )

       閑來看看 2013-01-25
      /*
        pBuffer是要校驗(yàn)的數(shù)據(jù)報開始地址
        nSize指定校驗(yàn)內(nèi)容長度,單位是字節(jié)
        */
        unsigned short checksum_calculating(unsigned short *pBuffer, int nSize)
        {
        unsigned long dwCksum = 0; // 32位累加和
        unsigned char* p=(unsigned char*)&dwCksum;
        // 以兩字節(jié)為單位反復(fù)累加
        while(nSize > 1)
        {
        dwCksum += *pBuffer++;
        printf("\t\t%.2x %.2x %.2x %.2x\n",*p,*(p+1),*(p+2),*(p+3));
        nSize -= sizeof(unsigned short);
        }
        printf("\t\t%.2x %.2x %.2x %.2x\n",*p,*(p+1),*(p+2),*(p+3));
        // 如果總字節(jié)數(shù)為奇數(shù)則加上最后一個字節(jié)
        if (nSize)
        {
        dwCksum += *(unsigned char*) pBuffer;
        printf("\t\t%.2x %.2x %.2x %.2x\n",*p,*(p+1),*(p+2),*(p+3));
        }
        //把32位整數(shù)高位中的進(jìn)位累加到低16位
        while(dwCksum>>16){
        dwCksum = (dwCksum&0xffff) + (dwCksum>>16);
        printf("\t\t%.2x %.2x %.2x %.2x\n",*p,*(p+1),*(p+2),*(p+3));
        }
        //取反得到校驗(yàn)和
        dwCksum = ~dwCksum;
        printf("\t\t%.2x %.2x %.2x %.2x\n",*p,*(p+1),*(p+2),*(p+3));
        // 返回16位校驗(yàn)和
        return (unsigned short) (dwCksum);
        } 來源:教育聯(lián)展網(wǎng)-軟件水平考試

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多