Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Архівація і стиснення даних

Реферат Архівація і стиснення даних





ign="justify"> ======== Функція запису =========

============================== */putbits (int data, int nbits)

{int bitcounter = 0; int outdata = 0; bit, error; <<= (16-nbits); (; nbits> 0; nbits -)

{(bitcounter == 8)

{= 0; = putc (outdata, second_file); (error == EOF)

{("Error writing to Second file."); -5;

}

} <<= 1; = (data & 0x8000)? 1:0; + = bit; + +; <<= 1;

}

}

/* ==============================

====== Функція Архівування =====

============================== */compress_stud ()

{stat buf; char * position, * pointer;// байт у файлі, байт в буфереi, dist, offset = 0, last = NO, cnt, maxleng; ("Compress started." ;);

// Записуємо розмір початкового файлу

fstat (fileno (first_file), & buf);

fileleng = buf.st_size; (fileno (second_file), & fileleng, sizeof (long));

// Читаємо файл у буфер по частинах розміру TEXTSIZE ((srcleng = fread (srcstart + offset, 1, TEXTSIZE, first_file))> 0)

{(srcleng

{= YES;

} = srcstart; = srcbuf; + = offset; (srcleng> 0)

{(" n nStep -% d n", srcleng); = 0; ((last == NO) && (srcleng

{(srcbuf, pointer, DICSIZE + (int) srcleng); = (int) srcleng;;

} (i = DICSIZE-1; i> = 0; i -)// Шукаємо найдовшу збігається рядок у словнику

{(cnt = 0; cnt

{= DICSIZE-1-i;// позиція = STRMAX;// довжина;

} (cnt> maxleng)// Якщо черговий рядок довший вже знайдених, зберігає її довжину і позицію

{= DICSIZE-1-i;// позиція = cnt;// довжина

}

} ((last == YES) && (maxleng> srcleng))// Перевіряємо, щоб не було виходу за межі файлу

{= (int) srcleng;// обрізаємо довжину по кордон буфера

} (maxleng> THRESHOLD)// Якщо рядок досить довга, формуємо pointer-код

{("link! n"); (1,1);// позначаємо як посилання (dist, DICBITS);// записуємо позицію (maxleng-THRESHOLD-1, STRBITS); // записуємо довжину + = maxleng; = maxleng; + = maxleng;

}// Інакше - chr-код

{("Cha...


Назад | сторінка 14 з 16 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Архівація даних
  • Реферат на тему: Стиснення даних
  • Реферат на тему: Алгоритми стиснення даних
  • Реферат на тему: Аналіз даних за допомогою технології Data Mining
  • Реферат на тему: Пристрій запису і читання даних з Flash-пам'яті