howbig.c
来自「高效率的一种通用压缩/解压程序」· C语言 代码 · 共 37 行
C
37 行
#include <stdio.h>#include <assert.h>#include "bzlib.h"unsigned char ibuff[1000000];unsigned char obuff[1000000];void doone ( int n ){ int i, j, k, q, nobuff; q = 0; for (k = 0; k < 1; k++) { for (i = 0; i < n; i++) ibuff[i] = ((unsigned long)(random())) & 0xff; nobuff = 1000000; j = bzBuffToBuffCompress ( obuff, &nobuff, ibuff, n, 9,0,0 ); assert (j == BZ_OK); if (nobuff > q) q = nobuff; } printf ( "%d %d(%d)\n", n, q, (int)((float)n * 1.01 - (float)q) );}int main ( int argc, char** argv ){ int i; i = 0; while (1) { if (i >= 900000) break; doone(i); if ( (int)(1.10 * i) > i ) i = (int)(1.10 * i); else i++; } return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?