IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Сдвиговые операции в кодировании, язык Си
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 115
Пол: Мужской
Реальное имя: Александр

Репутация: -  1  +


Прош мне помочь вот с чем: у меня есть коды фаффмана для каждого кодируемого символа. Так вот вопрос :
могли бы мне написать функцию которая бы упаковывала отдельные коды разной длины напрмер в переменную типа unsigned(2 байта). Здесб довольно тонкая работ со сдвиговыми операциями и у меня не получается.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 115
Пол: Мужской
Реальное имя: Александр

Репутация: -  1  +


Честно говоря сам поражл щас)))) А пример попытаюсь привести щас. Ну например у меня есть символы A,B,C,D.У каждого из них в кодовом дереве Tree у них есть соответствующие коды хаффмана. В таблице символов они идут в последовательности: D, C, B, A. А коды их находятся в кодово дереве(реализованном как массив деревьев) соответсвенно: Tree[i].code. Не буду перечислять коды этих символов. Ну вот и теперь мне надо записать их в выходной файл. Я так понял что надо все эти коды сгруппировать например в двухбайтовую переменную. Будет запущен цикл в котором при совпадении в таблице символов с символом считанным из файла будет поставлен в соответсвие код из дерева. Так вт проблма состоит в том что у меня не получается записать коды символов в переменную, чтобы потом при заполнении переменной все скинуть в файл и обнулить ее и опть начать заполнение ее и т.д. до конц файла аминь... Ну типа есть коды у символа А -110 а у B - 001 , то перед тем как отправить эти коды в файл надо их загнать в переменную и выглядеть она будет так: 00110001 - я взял 8-битный пример. То есть в тексе был сначал встречен символ А а затем уже B. Фууух надеюсь понятно стало и теперь кто нить может мне помочь) Заранее спасибо...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Янычар   Сдвиговые операции в кодировании   29.05.2008 23:33
klem4   Спасибо, поржал)) Ты бы пару примеров привел, б…   30.05.2008 1:36
Янычар   Честно говоря сам поражл щас)))) А пример попытаю…   30.05.2008 1:58
klem4   то есть каждый символ кодируется 3 битами, и ты хо…   30.05.2008 2:05
Янычар   Ну нет конечно. Я просто пример привел. Коды все р…   30.05.2008 2:12
volvo   Что-то я не понял твоей логики... Вот тут: метод Х…   30.05.2008 18:12
Янычар   Ну там и вправду не совсем то что мне нужно) А зде…   1.06.2008 0:02
volvo   Ну, тогда смотри: #include <stdio.h> unsign…   1.06.2008 0:22
Янычар   Ну в принципе все понятно спасибо, но есть один во…   1.06.2008 20:58
volvo   Ты не можешь записывать в файл информацию побитно,…   1.06.2008 22:18
Янычар   Спасибо понятно теперь. Хотя то что писать в файл …   1.06.2008 22:42
Янычар   Вот один вопрос возник а зачем нужно 00001 - то, ч…   4.06.2008 19:17
volvo   Это то, что после всех операций (и, соответственно…   4.06.2008 19:32
Янычар   Спасибо так оно и есть) Добавлено через 17 мин. …   4.06.2008 20:10


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.04.2024 21:44
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name