Форум программистов, компьютерный форум CyberForum.ru

Битовое представление - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 5.00
revanatar
0 / 0 / 0
Регистрация: 28.08.2011
Сообщений: 35
30.10.2011, 19:19     Битовое представление #1
Как можно получить любой файл в виде массива бит (именно бит, не байт) чтобы произвести непосредственно над каждым битом действие, и из выходной последовательности бит получить файл (не список бит в текстовом файле, а именно файл из этих бит).
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
31.10.2011, 17:21     Битовое представление #21
Цитата Сообщение от revanatar Посмотреть сообщение
биты из предидущей восьмерки чтобы складывать
Биты, как и вообще цифры, не складываются. Складываются только числа, матрицы и вектора.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
revanatar
0 / 0 / 0
Регистрация: 28.08.2011
Сообщений: 35
31.10.2011, 19:53  [ТС]     Битовое представление #22
Ну неужели я не могу представить true как 1 а faulce как 0, и складывать по модулю 2?

Добавлено через 12 минут
И если уж говорить про биты, так в джаве например можно создать массив типа boolean.
Да и не в том дело, хотелось бы увидеть хоть один рабочий пример как разбирается файл побайтово и как собирается обратно.
revanatar
0 / 0 / 0
Регистрация: 28.08.2011
Сообщений: 35
04.11.2011, 20:02  [ТС]     Битовое представление #23
Вот пример с сишными функциями, не могу понять почему в последнем цикле собирает файл неправильно, видимо счетчик неправильно работает. Почему так?
Код
char c;
FILE *in, *out;
in=fopen("D:\\WinRAR.rar", "rb");
out=fopen("D:\\WinRAR1.rar", "wb");
int k=0;
while(!feof(in))
	{fscanf(in,"%c",&c);
	k++;}
for(i=0;i<k;i++)
	{fscanf(in,"%c",&c);
	fprintf(out,"%c",c);}
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
04.11.2011, 20:09     Битовое представление #24
Как бы файл кончился.
revanatar
0 / 0 / 0
Регистрация: 28.08.2011
Сообщений: 35
04.11.2011, 20:13  [ТС]     Битовое представление #25
Ну как бы не должен, я же беру i<k
castaway
Эксперт С++
4842 / 2981 / 367
Регистрация: 10.11.2010
Сообщений: 11,013
Записей в блоге: 10
Завершенные тесты: 1
04.11.2011, 20:17     Битовое представление #26
Ну..., как бы ты его не перемотал.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
04.11.2011, 20:18     Битовое представление #27
Как бы ты берёшь после того, как файл кончился.
revanatar
0 / 0 / 0
Регистрация: 28.08.2011
Сообщений: 35
04.11.2011, 20:32  [ТС]     Битовое представление #28
Да и еще вопрос есть:
у меня вот формула представления выходных бит B[i] = A[i]+B[i-6]+B[i-15], где + это операция xor, т.е. мне надо держать в памяти два байта перед тем с которым работаю, да и его самого, чтобы выполнять эту формулу. Как это можно осуществить? Например если я их буду сохранять как нули и единицы - не знаю как обратно получить байты, если же не хранить а обращатся к уже записанным - то не знаю как к ним обращаться. Или же загонять в массив char?

Добавлено через 1 минуту
как тогда перейти к началу файла?)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.11.2011, 20:37     Битовое представление
Еще ссылки по теме:

Функция, зеркально отображающая битовое представление числа C++
Битовое чтение файлов C++

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

Или воспользуйтесь поиском по форуму:
castaway
Эксперт С++
4842 / 2981 / 367
Регистрация: 10.11.2010
Сообщений: 11,013
Записей в блоге: 10
Завершенные тесты: 1
04.11.2011, 20:37     Битовое представление #29
Цитата Сообщение от revanatar Посмотреть сообщение
как тогда перейти к началу файла?)
fseek( fp, 0, SEEK_SET );
Yandex
Объявления
04.11.2011, 20:37     Битовое представление
Ответ Создать тему
Опции темы

Текущее время: 06:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru