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

работа с блоками бит) - C++

Восстановить пароль Регистрация
 
TOTOSHA24
0 / 0 / 0
Регистрация: 10.04.2010
Сообщений: 14
22.12.2010, 11:55     работа с блоками бит) #1
привет всем))))было поставлено такое задание:зашифровать файл блоками по 11 бит)беру массив 88 байт разбиваю на блоки по 11 бит, засовую их обратно в массив, вывожу его на экран и у меня получается не исходный массив, то есть где то ошибка, подскажите где))
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
void main()
{
int i,j;
int n,n2,n3;
char b1, b2;
char mas[88];
FILE *fp=fopen("d://anton.txt","r");
FILE *ft=fopen("d://anton2.txt","w");
FILE *fr=fopen("d://anton3.txt","w");
fread(mas,88,1,fp); //считываем массив
 for(i=0;i<88;i++)  //выводим массив на экран
     {
      cout<<mas[i]<<" ";
     }
  cout<<endl;
   j=0;
for(int l=0;l<64;l++)
{
//создаю блоки  по 11 бит
b1=mas[0];
b2=mas[1];
n2=b2;
n2=n2&0x70;     //получаю три значащих бита из байта
n2=n2>>4;       //сдвигаю на четыре позиции
n=b1;
n=n<<3;
n=n|n2;        //соеденяю два байта
/*/ вот здесь долджны быть функции кодирования/*/
 
//а вот здесь блоки по 11 бит опять засовую в массив
n=n<<5;
n3=n;
n=n&255;
mas[1]=mas[1]|n;
n3=n3>>8;
n3=n3&255;
mas[0]=mas[0]|n3;
j++;
shift_right(mas,88,11);//циклический сдвиг массива вправо на 11 бит 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2010, 11:55     работа с блоками бит)
Посмотрите здесь:

работа с блоками C++
C++ Считывание и запись файла блоками
C++ Как считывать файлы блоками
C++ Cчитывание из файла блоками по 8 байт
Работа с битами. Сдвиг бит в массиве переменных. О как C++
Как считывать с файла данные блоками? C++
C++ Динамическая память - блоками
C++ Перемножение матриц блоками. OpenMP

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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