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

Упаковка - C++

Восстановить пароль Регистрация
 
barlog
2 / 2 / 0
Регистрация: 03.11.2009
Сообщений: 227
14.01.2011, 10:25     Упаковка #1
Решить задачу упаковки, если числа массива могут принимать следующие значения: 0, 1, 2, 3;
Пусть по условию задачи известно, что числа массива находятся в диапазоне от 0 до 3, т. е. каждое число занимает 2 бита. Надо обработать 24 таких чисел. Нет типа данных для хранения двух битов. В каждом элементе массива типа unsigned short размером два байта (16 битов) можно разместить 16/2=8 чисел из указанного диапазона. Поэтому для хранения 20 таких чисел понадобится массив из 24/8=3 элементов.

Если честно,не очень понимаю что делать..обьясните пожалуйста...

Добавлено через 2 минуты
И в то же время чуть ниже задачи написано....

C++
1
2
3
4
5
6
7
8
9
randomize();
  unsigned short num, r=0;
   for (int j=1; j<=8; j++)
   {  r<<=2;                                 // или  r=r<<2;
      num=random(4);
      cout<<num<<"  ";
      r |= num;                                // или r+= num; 
  }
    printf(" \ n % x   % d",r,  r);
Так как после сдвига влево ячейки r два последних бита будут нулевыми, а в переменной num ненулевые только два последних бита, то r = r | num и r = r+num ( r |= num и r += num ) выполняются одинаково.
В функции вывода printf формат %x используется для вывода целого числа в шестнадцатеричной системе счисления.




Разве это и не есть решение?!!!???

Добавлено через 23 секунды
C++
1
2
3
4
5
6
7
8
9
CPPrandomize();
unsigned short num, r=0;
for (int j=1; j<=8; j++)
{ r<<=2; // или r=r<<2;
num=random(4);
cout<<num<<" ";
r |= num; // или r+= num; 
}
printf(" \ n % x % d",r, r);
Добавлено через 4 часа 33 минуты
Ребята,обьясните пожалуйста хоть задание...не пойму что делать...и в инете найти не могу((

Добавлено через 9 часов 28 минут
Не ну в этих прграммах так и делается...даются числа...потом их упаковывают в одно....ну...это же и есть задание!...не правда ль?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2011, 10:25     Упаковка
Посмотрите здесь:

Упаковка битовых групп C++
Упаковка и распаковка даты. C++
C++ Упаковка в байты
C++ упаковка по ящикам
C++ Упаковка бинарного дерева в массив
C++ Упаковка/распаковка стороннего файла в exe
C++ Упаковка пакета с помощью операции сдвига
Упаковка строки с шестнадцатиричными значениями C++

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

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

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