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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Tramtararam
1 / 1 / 0
Регистрация: 26.11.2010
Сообщений: 21
#1

Битовые оперции - C++

26.11.2010, 14:19. Просмотров 283. Ответов 0
Метки нет (Все метки)

Есть код:

#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <bitset>
#include <fstream>
using namespace std;

int main()
{
_wsetlocale( LC_ALL, L"Russian_Russia.ACP" );

char buffer[512];
char f0[156];
register int i;

ifstream in ("test.txt", ios::in | ios::binary);
if(!in) {
cout << "Не удаётся открыть файл.\n";
return 1;
}


ofstream out ("test2.txt", ios::out | ios::binary);
if(!out) {
cout << "Не удатся открыть файл.\n";
return 1;
}

do {
in.read(buffer, sizeof(buffer));

for(i=0; i<3; i++)
{
memcpy(f0, buffer + 8 + 12*(i+1) + 156*i, 156);
out.write(f0, 156);
}
} while(!in.eof());

in.close();
out.close();

return 0;
}

В проге происходит разбиение файла на три части по 156 БАЙТ.

Необходимо эти три части разбить на 8 частей, с учетом того, что каждый из них по 19.5 байт. Необходимо производить побитовый сдвиг на пол БАЙТА (4 БИТА). И записывать каждый в отдельный файл.

Схематично это выглядет так...
Миниатюры
Битовые оперции  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2010, 14:19     Битовые оперции
Посмотрите здесь:

C++ Битовые поля
C++ Битовые операции.
C++ Битовые поля
C++ Битовые поля
C++ Битовые поля
Битовые операции C++
C++ Битовые операции
битовые операции C++
C++ Битовые поля
Битовые операции C++
C++ Битовые операторы
C++ Битовые операции

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

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

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