![]() |
Модераторы: 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. |