Форум программистов, компьютерный форум CyberForum.ru
CyberForum.ru - форум программистов и сисадминов > > >
Восстановить пароль Регистрация

Ответ Создать новую тему
 
Ratrin
Новичок
0 / 0 / 0
Регистрация: 10.04.2010
Сообщений: 8
10.04.2010, 14:50     Битовый массив (значения принимаются битами, а адресация по номеру бита)
  #1
Реализовать только на языке C.
Битовый массив (значения принимаются битами, а адресация по номеру бита.)
AdAgent
Объявления
10.04.2010, 14:50
Day
Форумчанин
1074 / 880 / 45
Регистрация: 29.10.2009
Сообщений: 1,336
10.04.2010, 15:27
  #2
Не очень понял, что с этими битами надо делать.
Самое простейшее - извлечение и установка - вот.
Код C
1
2
3
4
5
6
7
8
9
10
11
12
char x[N];  // N - максимальное кол-во битов / 8
GetBit(int i)  // Взять i-тый бит
{
  int k = i / 8;
  return (x[k] >> (i%8));
}
SetBit(int i, bool b)  // Установить i-тый бит
{
   if (GetBit(i)==b) return;  // Бит уже такой, как надо
   char c = x[i/8];
   x[i/8] = c ^ (1<<(i%8));  // Меняем нужный бит
}
Ratrin
Новичок
0 / 0 / 0
Регистрация: 10.04.2010
Сообщений: 8
10.04.2010, 16:54  [ТС]     Битовый массив (значения принимаются битами, а адресация по номеру бита)
  #3
Ну если точно сказать задание то звучит так: Реализовать одну из структур данных, итератор по ней и тест (три файла: алгоритм, файл заголовка, тест). Тест должен демонстрировать работоспособность структуры. (требуемых структур может быть много)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Раздел Ответов Автор Дата
C++ Заполнить матрицу так, чтобы элемент в нечетной строке был равен номеру столбца, а в четном — номеру строки
Помогите пожалуйста решить задачу. Заполнить целочисленную квадратную матрицу 10х10 так, чтобы каждый элемент в нечетной строке равен номеру столбца, а в четном - номеру строки. Заранее спасибо.
С++ для начинающих 4 jbeely 11.06.2014 12:54
C++ 8-битовый тип signed char может представлять значения от -128 до 127
8-битовый тип signed char может представлять значения от -128 до 127 Кто может растолковать как это понимать, от 128 до 127 - тоесть может приримать только одно значение или от 0 до 127 - 128...
С++ для начинающих 8 I love myguitar 31.01.2013 20:53
C++ Битовый сдвиг C++
(Как мне уже известно) битовый сдвиг вправо на одну "ячейку" аналогичен делению на 2. Например 1/2^3 или 1>>3. Число получается не целым, поэтому кроме как 0 я не получаю ответ. (я понимаю...
С++ для начинающих 1 CarlosA 22.01.2013 23:32
C++ Битовый сдвиг
Вот в чем вопрос: int x = 2; int y; y = (x >> 32); cout << x << " " << y; Должен быть выход 2 0, а на экран выводится 2 2.
С++ для начинающих 1 fom4ik 06.12.2012 00:34
C++ Составить программу, которая по введенному номеру месяца и номеру года выводит количество дней в этом месяце(использовать операторы printf и scanf)
Составить программу, которая по введенному номеру месяца и номеру года выводит количество дней в этом месяце(использовать операторы printf и scanf)
С++ для начинающих 7 Borland 03.10.2012 17:13
C++ Извлечь 3 бита числа A, начиная со второго и вставить их в число B, начиная с первого бита
Ввести целое A. Извлечь 3 бита числа A, начиная со второго и вставить их в число B, начиная с ервогоп бита. B=1A05h.
С++ для начинающих 1 Vadim_94 29.09.2012 14:12
C++ По заданным номеру масти и номеру достоинства карты определить полное название
народ есть задания: 1. Мастям игральных карт условно присвоены слеующие порядковые номера: масти "пики" — 1,.масти "трефы" — 2, масти "бубны" — 3, масти "червы"— 4; а достоинству карт: "валету" —...
С++ для начинающих 1 legenda 24.11.2011 15:22
C++ как разбить массив на 5 частей по 4 символа (бита)
Здравствуйте! Подскажите, пожалуйста, как разбить массив на 5 частей по 4 символа (бита). Получается, вывести только первых четыре массива. Нужно сделать цикл в цикле или временный цикл для...
С++ для начинающих 6 Corvette 10.09.2011 09:45
Опции темы

Текущее время: 13:47. Часовой пояс GMT +4.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.7 PL3
Copyright ©2000 - 2014, vBulletin Solutions, Inc.