![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Evil3 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 3.6.2006 Репутация: нет Всего: нет |
Я пишу для курсовой программу организующую сжатие LZW на С, и там возникает необходимость вывода в выходной файл кодов по 12 бит. Если я правильно понимаю, для этого нужен буфер, в который скидываются 2 12-битных сообщения и выводятся как 3 байта. Пожалуйста подскажите, как можно организовать такую штуку.
|
|||
|
||||
| ZeusAtVingrad |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 12.4.2006 Репутация: нет Всего: нет |
Может в сторону bitset<> грести?
|
|||
|
||||
| bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
Маску наложи и усё
|
|||
|
||||
| Evil3 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 3.6.2006 Репутация: нет Всего: нет |
bel_nikita спасибо! Идею я вроде уловил.Вроде так можно выводить даже по 1 байту, а 4 бита оставлять в буфере, и при следующем обращении писать 2 байта. А что делать, если последними в буфере окажутся 12 бит?
|
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
Дополнять нулями до двух байт (16 бит) и писать эти два байта. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: 21 Всего: 47 |
Evil3,
Разницы нет, что биты, что байты. Самая меньшая ячейка с которой оперирует прога - байт, в которой 8 бит. Просто нужно понять сам принцип
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |