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

BitArray. Целочисленная реализация. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Мне нужно решить задачу на прологе.. хn,уn. Выяснить, найдуться ли среди точек с координатами (х1,у1)...( http://www.cyberforum.ru/cpp-beginners/thread381717.html
Мне нужно решить задачу на прологе: Даны целые числа х1,у1, х2,у2, ... хn,уn. Выяснить, найдуться ли среди точек с координатами (х1,у1)...(хn,уn) четыре таких которые являются вершинами квадрата. Помогите!! Пожалуйста!!!
C++ Реализовать функцию, которая переписывает элементы входного массива в обратном порядке Реализовать функцию, которая переписывает элементы входного массива в обратном порядке. на вход функция получает указатель на первый элемент массива, а также его размерность. Задан действительный размерности 3n, который делится на три пидмасивы. используя функцию для каждого из пидмасивив превратить входной массив. http://www.cyberforum.ru/cpp-beginners/thread381710.html
C++ ввести целое двузначное число. вывести числа кратные 3
ввести целое двузначное число. вывести числа кратные 3
C++ Русские буквы в консоли на Microsoft Visual C++ 6.0
Как по проше можно вывисти русские буквы в консоли на Microsoft Visual C++ 6.0. такой способ не срабатывает #include <locale.h> using namespace std; int main() { setlocale(LC_ALL, "Rus"); }
C++ Вычислить и вывести на экран значения выражения http://www.cyberforum.ru/cpp-beginners/thread381671.html
Вычислить и вывести на экран значения выражения для данного натурального числа N: 4+8+12+ … +4∙N.
C++ Быстрое чтение файла Здраствуйте. Я пишу программу, которая читает файлы порядка от нескольких килобайтов до максимум 3 Мб. Посоветуйте пожалуйста, какие функции и/или алгоритмы использовать для максимальнобыстрого чтения данных, представленных вещественными числами. Прошу прощения, если мой вопрос неправильно сформулирован. подробнее

Показать сообщение отдельно
inoto
0 / 0 / 0
Регистрация: 08.11.2011
Сообщений: 3
11.11.2011, 13:53     BitArray. Целочисленная реализация.
Везде нахожу примеры как битовый массив хранится в строке. А мне нужно хранение в инте. Вопщем, код:

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
class BitArray
{
 private:
 
   unsigned SizeBits;
   unsigned SizeIntCount;
   unsigned *Data;
   unsigned Mask;
...
 
BitArray::BitArray(unsigned n)
{
   if (n < 1)
      n = 1;
   Mask = 1;
   SizeBits = n;
   float f = (float)n / (8 * sizeof(int)) + 0.999;
   SizeIntCount = (int)f;
   Data = new unsigned [SizeIntCount];
 
   unsigned bits = 0;
   for (int i = 0; i < SizeIntCount; i++)
   {
      Mask = 1;
      for (int j = 0; j < (8 * sizeof(int)); j++)
      {
     bits++;
     *Data = (*Data | Mask ? 1 : 0); //вот тут что-то не так я думаю, но не могу понять что?
     Mask<<=1;
     if (bits == SizeBits)
        break;
      }
   }
}
}
Второй день ломаю голову...
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru