Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Edward Avernin                       2:5020/400     18 Jan 2002  00:58:01
 To : Avernin Edward
 Subject : Re: Упаковка данных(принцип записи в файл)
 -------------------------------------------------------------------------------- 
 
 Здравствуйте !
 Скажите по-подробнее как работает ф-ия
 output_code(FILE *output,unsigned int code)
 {
 static int output_bit_count=0;
 static unsigned long output_bit_buffer=0L;
     output_bit_buffer |= (unsigned long) code << (32-BITS-output_bit_count);
     output_bit_count += BITS;
     while (output_bit_count >= 8)
     {
         putc(output_bit_buffer >> 24,output);
         output_bit_buffer <<= 8;
         output_bit_count -= 8;
     }
  }
 
 Вот я например хочу записать в файл 3 символа "abc".
 ASCII-код их равен 97,98,99 соответсвенно. Сначала я указываю в параметр
 ф-ии символ 'a',
 т.е. output_code(output,97);
 и далее по ф-ии получаю :
 т.к. a=1100001, то
 output_bit_buffer = 1100001 00000000000000000000      //20 нулей
 потом записывается в файл число 110 .
 //putc(output_bit_buffer >> 24,output);
 после этой операции output_bit_buffer <<= 8;
 !!! ОБЪЯСHИТЕ МHЕ ЭТОТ МОМЕHТ
 получается что в буффере остается 10000000000000000000000000000
 !!! ОБЪЯСHИТЕ МHЕ ЭТОТ МОМЕHТ
 потом уже идет символ 98.
 
 Может просто я не понимаю операция "сдвиг влево" - это разве не то же что
 например x<<y   то же что и x*(2^y) ?
 Заранее благодарен.
 
 С уважением Avernin E.
 --- ifmail v.2.15dev5
  * Origin: Artelecom-Internet News Server (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Упаковка данных(принцип записи в файл)   Edward Avernin   18 Jan 2002 00:58:01 
 Re: Упаковка данных(принцип записи в файл)   Andrew Ezhguroff   18 Jan 2002 05:16:29 
 Re: Упаковка данных(принцип записи в файл)   Edward Avernin   19 Jan 2002 00:19:33 
 Re: Упаковка данных(принцип записи в файл)   Andrew Ezhguroff   19 Jan 2002 04:26:47 
Архивное /ru.algorithms/909487471fd7.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional