亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? crc32.cpp

?? 一個C語言實現的壓縮解壓的工具代碼
?? CPP
字號:
/* crc32.c -- compute the CRC-32 of a data stream
 * Copyright (C) 1995-1998 Mark Adler
 * For conditions of distribution and use, see copyright notice in zlib.h 
 */

/* @(#) $Id$ */
#include "stdafx.h"
#include "zlib.h"

#define local static

#ifdef DYNAMIC_CRC_TABLE

local int crc_table_empty = 1;
local uLongf crc_table[256];
local void make_crc_table OF((void));

/*
  Generate a table for a byte-wise 32-bit CRC calculation on the polynomial:
  x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1.

  Polynomials over GF(2) are represented in binary, one bit per coefficient,
  with the lowest powers in the most significant bit.  Then adding polynomials
  is just exclusive-or, and multiplying a polynomial by x is a right shift by
  one.  If we call the above polynomial p, and represent a byte as the
  polynomial q, also with the lowest power in the most significant bit (so the
  byte 0xb1 is the polynomial x^7+x^3+x+1), then the CRC is (q*x^32) mod p,
  where a mod b means the remainder after dividing a by b.

  This calculation is done using the shift-register method of multiplying and
  taking the remainder.  The register is initialized to zero, and for each
  incoming bit, x^32 is added mod p to the register if the bit is a one (where
  x^32 mod p is p+x^32 = x^26+...+1), and the register is multiplied mod p by
  x (which is shifting right by one and adding x^32 mod p if the bit shifted
  out is a one).  We start with the highest power (least significant bit) of
  q and repeat for all eight bits of q.

  The table is simply the CRC of all possible eight bit values.  This is all
  the information needed to generate CRC's on data a byte at a time for all
  combinations of CRC register values and incoming bytes.
*/
local void make_crc_table()
{
  uLong c;
  int n, k;
  uLong poly;            /* polynomial exclusive-or pattern */
  /* terms of polynomial defining this crc (except x^32): */
  static const Byte p[] = {0,1,2,4,5,7,8,10,11,12,16,22,23,26};

  /* make exclusive-or pattern from polynomial (0xedb88320L) */
  poly = 0L;
  for (n = 0; n < sizeof(p)/sizeof(Byte); n++)
    poly |= 1L << (31 - p[n]);
 
  for (n = 0; n < 256; n++)
  {
    c = (uLong)n;
    for (k = 0; k < 8; k++)
      c = c & 1 ? poly ^ (c >> 1) : c >> 1;
    crc_table[n] = c;
  }
  crc_table_empty = 0;
}
#else
/* ========================================================================
 * Table of CRC-32's of all single-byte values (made by make_crc_table)
 */
local const uLongf crc_table[256] = {
  0x00000000L, 0x77073096L, 0xee0e612cL, 0x990951baL, 0x076dc419L,
  0x706af48fL, 0xe963a535L, 0x9e6495a3L, 0x0edb8832L, 0x79dcb8a4L,
  0xe0d5e91eL, 0x97d2d988L, 0x09b64c2bL, 0x7eb17cbdL, 0xe7b82d07L,
  0x90bf1d91L, 0x1db71064L, 0x6ab020f2L, 0xf3b97148L, 0x84be41deL,
  0x1adad47dL, 0x6ddde4ebL, 0xf4d4b551L, 0x83d385c7L, 0x136c9856L,
  0x646ba8c0L, 0xfd62f97aL, 0x8a65c9ecL, 0x14015c4fL, 0x63066cd9L,
  0xfa0f3d63L, 0x8d080df5L, 0x3b6e20c8L, 0x4c69105eL, 0xd56041e4L,
  0xa2677172L, 0x3c03e4d1L, 0x4b04d447L, 0xd20d85fdL, 0xa50ab56bL,
  0x35b5a8faL, 0x42b2986cL, 0xdbbbc9d6L, 0xacbcf940L, 0x32d86ce3L,
  0x45df5c75L, 0xdcd60dcfL, 0xabd13d59L, 0x26d930acL, 0x51de003aL,
  0xc8d75180L, 0xbfd06116L, 0x21b4f4b5L, 0x56b3c423L, 0xcfba9599L,
  0xb8bda50fL, 0x2802b89eL, 0x5f058808L, 0xc60cd9b2L, 0xb10be924L,
  0x2f6f7c87L, 0x58684c11L, 0xc1611dabL, 0xb6662d3dL, 0x76dc4190L,
  0x01db7106L, 0x98d220bcL, 0xefd5102aL, 0x71b18589L, 0x06b6b51fL,
  0x9fbfe4a5L, 0xe8b8d433L, 0x7807c9a2L, 0x0f00f934L, 0x9609a88eL,
  0xe10e9818L, 0x7f6a0dbbL, 0x086d3d2dL, 0x91646c97L, 0xe6635c01L,
  0x6b6b51f4L, 0x1c6c6162L, 0x856530d8L, 0xf262004eL, 0x6c0695edL,
  0x1b01a57bL, 0x8208f4c1L, 0xf50fc457L, 0x65b0d9c6L, 0x12b7e950L,
  0x8bbeb8eaL, 0xfcb9887cL, 0x62dd1ddfL, 0x15da2d49L, 0x8cd37cf3L,
  0xfbd44c65L, 0x4db26158L, 0x3ab551ceL, 0xa3bc0074L, 0xd4bb30e2L,
  0x4adfa541L, 0x3dd895d7L, 0xa4d1c46dL, 0xd3d6f4fbL, 0x4369e96aL,
  0x346ed9fcL, 0xad678846L, 0xda60b8d0L, 0x44042d73L, 0x33031de5L,
  0xaa0a4c5fL, 0xdd0d7cc9L, 0x5005713cL, 0x270241aaL, 0xbe0b1010L,
  0xc90c2086L, 0x5768b525L, 0x206f85b3L, 0xb966d409L, 0xce61e49fL,
  0x5edef90eL, 0x29d9c998L, 0xb0d09822L, 0xc7d7a8b4L, 0x59b33d17L,
  0x2eb40d81L, 0xb7bd5c3bL, 0xc0ba6cadL, 0xedb88320L, 0x9abfb3b6L,
  0x03b6e20cL, 0x74b1d29aL, 0xead54739L, 0x9dd277afL, 0x04db2615L,
  0x73dc1683L, 0xe3630b12L, 0x94643b84L, 0x0d6d6a3eL, 0x7a6a5aa8L,
  0xe40ecf0bL, 0x9309ff9dL, 0x0a00ae27L, 0x7d079eb1L, 0xf00f9344L,
  0x8708a3d2L, 0x1e01f268L, 0x6906c2feL, 0xf762575dL, 0x806567cbL,
  0x196c3671L, 0x6e6b06e7L, 0xfed41b76L, 0x89d32be0L, 0x10da7a5aL,
  0x67dd4accL, 0xf9b9df6fL, 0x8ebeeff9L, 0x17b7be43L, 0x60b08ed5L,
  0xd6d6a3e8L, 0xa1d1937eL, 0x38d8c2c4L, 0x4fdff252L, 0xd1bb67f1L,
  0xa6bc5767L, 0x3fb506ddL, 0x48b2364bL, 0xd80d2bdaL, 0xaf0a1b4cL,
  0x36034af6L, 0x41047a60L, 0xdf60efc3L, 0xa867df55L, 0x316e8eefL,
  0x4669be79L, 0xcb61b38cL, 0xbc66831aL, 0x256fd2a0L, 0x5268e236L,
  0xcc0c7795L, 0xbb0b4703L, 0x220216b9L, 0x5505262fL, 0xc5ba3bbeL,
  0xb2bd0b28L, 0x2bb45a92L, 0x5cb36a04L, 0xc2d7ffa7L, 0xb5d0cf31L,
  0x2cd99e8bL, 0x5bdeae1dL, 0x9b64c2b0L, 0xec63f226L, 0x756aa39cL,
  0x026d930aL, 0x9c0906a9L, 0xeb0e363fL, 0x72076785L, 0x05005713L,
  0x95bf4a82L, 0xe2b87a14L, 0x7bb12baeL, 0x0cb61b38L, 0x92d28e9bL,
  0xe5d5be0dL, 0x7cdcefb7L, 0x0bdbdf21L, 0x86d3d2d4L, 0xf1d4e242L,
  0x68ddb3f8L, 0x1fda836eL, 0x81be16cdL, 0xf6b9265bL, 0x6fb077e1L,
  0x18b74777L, 0x88085ae6L, 0xff0f6a70L, 0x66063bcaL, 0x11010b5cL,
  0x8f659effL, 0xf862ae69L, 0x616bffd3L, 0x166ccf45L, 0xa00ae278L,
  0xd70dd2eeL, 0x4e048354L, 0x3903b3c2L, 0xa7672661L, 0xd06016f7L,
  0x4969474dL, 0x3e6e77dbL, 0xaed16a4aL, 0xd9d65adcL, 0x40df0b66L,
  0x37d83bf0L, 0xa9bcae53L, 0xdebb9ec5L, 0x47b2cf7fL, 0x30b5ffe9L,
  0xbdbdf21cL, 0xcabac28aL, 0x53b39330L, 0x24b4a3a6L, 0xbad03605L,
  0xcdd70693L, 0x54de5729L, 0x23d967bfL, 0xb3667a2eL, 0xc4614ab8L,
  0x5d681b02L, 0x2a6f2b94L, 0xb40bbe37L, 0xc30c8ea1L, 0x5a05df1bL,
  0x2d02ef8dL
};
#endif

/* =========================================================================
 * This function can be used by asm versions of crc32()
 */
const uLongf * ZEXPORT get_crc_table()
{
#ifdef DYNAMIC_CRC_TABLE
  if (crc_table_empty) make_crc_table();
#endif
  return (const uLongf *)crc_table;
}

/* ========================================================================= */
#define DO1(buf) crc = crc_table[((int)crc ^ (*buf++)) & 0xff] ^ (crc >> 8);
#define DO2(buf)  DO1(buf); DO1(buf);
#define DO4(buf)  DO2(buf); DO2(buf);
#define DO8(buf)  DO4(buf); DO4(buf);

/* ========================================================================= */
uLong ZEXPORT crc32(uLong crc,
    const Bytef *buf,
    uInt len)
    
{
    if (buf == Z_NULL) return 0L;
#ifdef DYNAMIC_CRC_TABLE
    if (crc_table_empty)
      make_crc_table();
#endif
    crc = crc ^ 0xffffffffL;
    while (len >= 8)
    {
      DO8(buf);
      len -= 8;
    }
    if (len) do {
      DO1(buf);
    } while (--len);
    return crc ^ 0xffffffffL;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产亚洲aⅴ| 日韩久久久精品| 精品美女在线播放| 亚洲欧美电影一区二区| 国内精品伊人久久久久av影院 | 亚洲视频狠狠干| 九九热在线视频观看这里只有精品| 日本精品裸体写真集在线观看| 久久久久久免费| 日韩av不卡一区二区| 91色porny蝌蚪| 久久精品网站免费观看| 久久精品国产精品亚洲综合| 欧美日韩在线电影| 一区二区视频在线| eeuss鲁片一区二区三区| 精品国产露脸精彩对白| 日韩av一二三| 欧美人与性动xxxx| 亚洲一区二区黄色| 欧美伊人久久久久久久久影院| 国产精品国产精品国产专区不蜜| 国产一区二区免费看| 日韩视频国产视频| 蜜臀av国产精品久久久久| 欧美性受xxxx黑人xyx性爽| 一区二区三区加勒比av| 91视视频在线观看入口直接观看www | 亚洲欧美福利一区二区| 成人看片黄a免费看在线| 日本一区二区三区国色天香 | 午夜精品久久久久久久99水蜜桃 | 欧美久久一区二区| 婷婷开心久久网| 欧美亚洲综合网| 水蜜桃久久夜色精品一区的特点| 欧美日韩精品免费观看视频 | 欧洲精品在线观看| 午夜精品123| 日韩一级欧美一级| 国产一区二区伦理片| 国产精品丝袜91| 色婷婷久久久久swag精品| 亚洲国产精品久久久男人的天堂| 91激情在线视频| 午夜av一区二区三区| 日韩视频一区二区三区 | 国产午夜精品一区二区三区嫩草 | 9人人澡人人爽人人精品| 亚洲免费毛片网站| 欧美日韩mp4| 国产乱人伦偷精品视频免下载| 久久久99免费| 色又黄又爽网站www久久| 亚洲国产精品视频| 精品国产一区二区三区久久影院 | 国产精品国产三级国产aⅴ中文| 91免费国产在线观看| 亚欧色一区w666天堂| 精品福利一二区| 色欲综合视频天天天| 日韩成人一区二区三区在线观看| 久久综合九色综合欧美就去吻| 成人福利电影精品一区二区在线观看| 亚洲黄色录像片| 精品日韩欧美在线| 在线视频综合导航| 久久超级碰视频| 亚洲欧美乱综合| 日韩欧美一区二区在线视频| 成人午夜精品一区二区三区| 亚洲成人黄色影院| 日本一区二区电影| 欧美精品色一区二区三区| 高清在线不卡av| 日韩高清一区在线| 中文字幕一区二区三区视频| 欧美一级日韩免费不卡| 日本久久一区二区三区| 国产综合色产在线精品| 一区二区三区国产| 国产视频视频一区| 欧美一区二区成人6969| 91亚洲精品乱码久久久久久蜜桃 | 日韩在线一区二区| 国产精品无码永久免费888| 91精品国产综合久久精品| 91亚洲精品久久久蜜桃| 国产ts人妖一区二区| 久久精品免费看| 亚洲h在线观看| 亚洲免费观看高清完整| 国产精品免费视频网站| 26uuu精品一区二区| 欧美一级一级性生活免费录像| 欧美综合色免费| 91片在线免费观看| 成人福利视频网站| 国产精品自拍网站| 久久99精品一区二区三区| 日韩国产一区二| 亚洲国产一区二区三区| 亚洲欧美电影院| 亚洲青青青在线视频| 中文字幕五月欧美| 中文字幕一区二区视频| 中文字幕一区免费在线观看| 国产精品久久一级| 中文字幕第一页久久| 久久久不卡网国产精品一区| 精品国产电影一区二区| 精品精品国产高清一毛片一天堂| 91麻豆精品国产91久久久久久| 欧美日韩不卡一区二区| 91精品久久久久久久久99蜜臂 | 99在线精品一区二区三区| 国产精品性做久久久久久| 国产aⅴ综合色| 成人av电影在线观看| 99国产一区二区三精品乱码| av爱爱亚洲一区| 91久久国产综合久久| 欧美日韩在线播放一区| 69堂亚洲精品首页| 7777精品伊人久久久大香线蕉完整版 | 亚洲素人一区二区| 亚洲你懂的在线视频| 亚洲一卡二卡三卡四卡五卡| 视频在线在亚洲| 久久99精品一区二区三区三区| 国产乱码一区二区三区| www.日韩av| 在线亚洲+欧美+日本专区| 欧美一区二区视频在线观看2022| 日韩三级电影网址| 久久久国产午夜精品| 亚洲乱码国产乱码精品精可以看| 亚洲综合色区另类av| 欧美精品18+| 91精品欧美福利在线观看| 福利电影一区二区三区| 色播五月激情综合网| 6080yy午夜一二三区久久| 精品av综合导航| 国产精品欧美一级免费| 亚洲va天堂va国产va久| 韩国在线一区二区| av日韩在线网站| 69av一区二区三区| 久久亚洲捆绑美女| 一区二区久久久久久| 精品一区二区三区在线观看国产| 成人午夜电影小说| 欧亚一区二区三区| 国产日产欧美一区二区视频| 亚洲在线一区二区三区| 国产麻豆午夜三级精品| 欧美系列在线观看| 久久日韩精品一区二区五区| 亚洲自拍偷拍欧美| 国产成人午夜片在线观看高清观看 | 东方欧美亚洲色图在线| 在线成人av网站| 中文字幕一区二区三区视频| 麻豆高清免费国产一区| 欧美亚一区二区| 国产精品乱码人人做人人爱| 视频一区在线视频| 91丨porny丨蝌蚪视频| 久久久亚洲精品石原莉奈| 亚洲成a人在线观看| 不卡区在线中文字幕| 日韩欧美的一区二区| 亚洲一区二区三区四区在线| 国产成人日日夜夜| 日韩欧美国产成人一区二区| 午夜欧美2019年伦理| 色婷婷综合久久久久中文| 国产精品青草综合久久久久99| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美最猛性xxxxx直播| 亚洲三级免费观看| 国产成人亚洲综合a∨婷婷| 精品国产乱子伦一区| 久久国产综合精品| 日韩欧美视频一区| 美日韩一区二区三区| 7777精品伊人久久久大香线蕉的| 亚洲国产一区二区三区青草影视 | 亚洲欧美色综合| 不卡av在线免费观看| 国产精品国产三级国产专播品爱网 | 国产精品色噜噜| 国产传媒欧美日韩成人| 久久综合色鬼综合色| 国产一区在线精品| 国产欧美在线观看一区| 国产成人免费网站| 国产精品网站在线播放| 成人三级在线视频|