![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
Янычар |
![]()
Сообщение
#1
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 115 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
Прош мне помочь вот с чем: у меня есть коды фаффмана для каждого кодируемого символа. Так вот вопрос :
могли бы мне написать функцию которая бы упаковывала отдельные коды разной длины напрмер в переменную типа unsigned(2 байта). Здесб довольно тонкая работ со сдвиговыми операциями и у меня не получается. |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Ну, тогда смотри:
#include <stdio.h>pack_unsigned пишет в buffer первый параметр, записанный в поле из стольки бит, сколько указано во втором параметре (закомментированы как раз битовые последовательности, добавляемые к буферу)... Когда буфер заполняется, он "сбрасывается" либо в файл, либо (как у меня в программе) на экран, и все начинается сначала... Теперь о выводе. buffer имеет размер в 32-бита, следовательно после 4-х вызовов pack_unsigned он заполнится, и будет содержать 00000001100000001100000100001000 = 2521524010 00001 - то, что остается в буфере после всех операций... Что непонятно - спрашивай... |
![]() ![]() |
![]() |
Текстовая версия | 16.08.2025 13:43 |