0 / 0 / 0
Регистрация: 16.02.2016
Сообщений: 101
1

Bit, bytes, код Хаффмона

03.10.2017, 08:33. Показов 528. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
У меня есть функция которая кодирует текст в двоичный код(имеется в виду набор символов и 0 и 1) по принципу кода Хаффмона, хочу узнать как можно эти 0 и 1 записать в тип byte и в последствии записать в файл собственного формата.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.10.2017, 08:33
Ответы с готовыми решениями:

Allowed memory size of 134217728 bytes exhausted (tried to allocate 46704001 bytes)
Вот такая проблема возникает при загрузке изображения, проблему устранил, но таким путём, которые...

Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 1572864 bytes)
Доброго времени суток уважаемые участники форума. Не так давно взялся за тех. поддержку сайта...

Warning: POST Content-Length of 13305751 bytes exceeds the limit of 8388608 bytes in Unknown on line 0
Вот такая ошибка красуется на странице, но при этом в php.ini upload_max_filesize = 20M,...

алгоритм Хаффмона и др
Здравствуйте) Есть 2 задания. Первое - закодировать текст кодом Хаффмона. Второе - равномерным...

4
42 / 52 / 33
Регистрация: 15.12.2015
Сообщений: 199
03.10.2017, 10:16 2
Что вы подразумеваете под типом byte? 1 и 0 можно записать
в любую переменную целочисленного типа используя операцию
двоичного сдвига:
C++
1
    uint8_t b = 1 << 2; // получим значение 0x00000100
Потом полученные данные можно записать в файл.
0
63 / 35 / 25
Регистрация: 17.07.2014
Сообщений: 457
03.10.2017, 13:08 3
Я бы посоветовал
C++
1
vector<bool>
Не все знают, но эта специализация вектора оптимизирована и держит значения побитово. Думаю, меньшего использования памяти вы не добьетесь.
Записывать в файл очень просто:
C++
1
2
ofstream fout("file.path");
for (auto e : v) fout << e;
0
0 / 0 / 0
Регистрация: 16.02.2016
Сообщений: 101
03.10.2017, 13:25  [ТС] 4
В итоге после этого сдвига я получаю число или байт
Мне надо создать байтовый файо как бы глупо это не звучало
0
42 / 52 / 33
Регистрация: 15.12.2015
Сообщений: 199
03.10.2017, 14:15 5
Deczy, используя операцию сдвига,
вы можете записать в переменную последовательность
из 1 и 0, размер переменной зависит от типа,
например переменная типа uint8_t будет хранить 1 байт данных (8 бит
или 8 "0" или "1"), потом эту переменную можно записать в файл.

Вариант maxm, более интересный.
Было бы неплохо, если Вы поясните, что возвращает функция (какой тип данных),
кодирующая текст.
0
03.10.2017, 14:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.10.2017, 14:15
Помогаю со студенческими работами здесь

Обясните мне, если Windows 32 bit, процессор 64 bit, то работает ли 2-ое ядро?
Обясните мне, если ОС Windows 32 bit, процессор 64 bit, все программы установлены разумеется 32...

Ноут Aspire 5560G: не ставится Windows 7 64-bit, в отличие от 32-bit
На сайту Acer драйвера на 64-битную версию. Три диска втыкал &quot;Windows 7 SP1 64-bit&quot; сейчас. Два...

HP ProBook 6570b (под 64-bit) встанет ли на него Win 32-bit?
Здравствуйте! Необходим ноутбук, чтобы в нем был аппаратный COM-порт - специализированый софт...

Разбиение на треугольники: разное поведение WinXP 32 bit и Win 7 64 bit
Добрый день. Народ, я даже знаю в какую тему постить.... Вобщем словил глюк следующего содержания....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru