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

> Внимание!

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

> Сдвиговые операции в кодировании, язык Си
Янычар
сообщение 29.05.2008 19:33
Сообщение #1


Пионер
**

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

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


Прош мне помочь вот с чем: у меня есть коды фаффмана для каждого кодируемого символа. Так вот вопрос :
могли бы мне написать функцию которая бы упаковывала отдельные коды разной длины напрмер в переменную типа unsigned(2 байта). Здесб довольно тонкая работ со сдвиговыми операциями и у меня не получается.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Янычар
сообщение 29.05.2008 21:58
Сообщение #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 19:33
klem4   Спасибо, поржал)) Ты бы пару примеров привел, б...   29.05.2008 21:36
Янычар   Честно говоря сам поражл щас)))) А пример попытаю...   29.05.2008 21:58
klem4   то есть каждый символ кодируется 3 битами, и ты хо...   29.05.2008 22:05
Янычар   Ну нет конечно. Я просто пример привел. Коды все р...   29.05.2008 22:12
volvo   Что-то я не понял твоей логики... Вот тут: метод Х...   30.05.2008 14:12
Янычар   Ну там и вправду не совсем то что мне нужно) А зде...   31.05.2008 20:02
volvo   Ну, тогда смотри: #include <stdio.h> unsign...   31.05.2008 20:22
Янычар   Ну в принципе все понятно спасибо, но есть один во...   1.06.2008 16:58
volvo   Ты не можешь записывать в файл информацию побитно,...   1.06.2008 18:18
Янычар   Спасибо понятно теперь. Хотя то что писать в файл ...   1.06.2008 18:42
Янычар   Вот один вопрос возник а зачем нужно 00001 - то, ч...   4.06.2008 15:17
volvo   Это то, что после всех операций (и, соответственно...   4.06.2008 15:32
Янычар   Спасибо так оно и есть) Добавлено через 17 мин. ...   4.06.2008 16:10


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

 



- Текстовая версия 24.06.2025 11:53
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"