Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 03.05.2010
Сообщений: 14
1

Битовые операции

24.10.2010, 17:02. Показов 2402. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дали задание на побитовые логические операции и операции сдвига, а я в них ничего не понимаю.
Помогите пожалуйста решить эти задачи, очень надо!
Во вложенном файле 3.doc условие задач с примером выполнения.

Вот условия задач:

Задача 1:
Составить две программы, первая из которых вводит составные части структуры данных, приведенной в Вашем варианте индивидуального задания, и формирует из них заданную упакованную структуру. Вторая программа вводит упакованную структуру как 16-ричное число и выводит значения отдельных ее составных частей.

Элемент списка безопасности объекта в вычислительной системе представляется в виде:

разряда 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Значение U U U U U U U U R W E 0 0 0 0 X
где:
U..U - идентификатор пользователя
R - Право читать
W - Право писать
E - Право выполнять программный код
X - явный запрет доступа


Задача 2:
Написать блоки перевода числа из десятичного в двоичный и обратно.


Задача 3:
Написать блоки преобразования числа в код Грея и обратно (результатом программы должны являться 2 таблицы с такими столбцами:
в первой: десятичное число, его двоичный эквивалент, эквивалент в коде Грея,
во второй: число в коде Грея, его двоичный эквивалент, его десятичный эквивалент
Примечание: теорию по коду Грея смотри в приложении.



Приложение: Код Грея
Код Грея, называемый также рефлексным (отражённым) двоичным кодом - одна из наиболее известных непозиционных систем счисления применяемых в вычислительной технике. Этот код строится из двоичных цифр таким образом, что соседние числа в нём отличаются всегда только в одном разряде. Кодов с такой же характеристикой много, но для кода Грея имеется простой алгоритм перевода чисел в двоичный позиционный код и обратно.
Для примера рассмотрим таблицу первых восми кодов Грея:
N Двоичный код Код Грея
0 000 000
1 001 001
2 010 011
3 011 010
4 100 110
5 101 111
6 110 101
7 111 100
Таблица 1 - Код Грея

Младший разряд в последовательности чисел в коде Грея принимает значения 0 и 1, затем следующий старший разряд становится единичным и младший разряд принимает свои значения уже в обратном порядке (1, 0). Этим и объясняется название кода - "отражённый". Соответственно, два младших разряда принимают значения 00, 01, 11, 10, а затем, при единичном следующем старшем разряде, те же значения в обратном порядке (10, 11, 01, 00).
Алгоритм перевода чисел в коде Грея в позиционный код прост: каждый разряд в позиционном коде равен сумме по модулю 2 этого и всех более старших разрядов в коде Грея. На С этот код выглядит следующим образом:
C++
1
for (unsigned i = 1; i < 32; i <<= 1) v ^= (v >> i)
До выполнения этого кода переменная v содержала число в коде Грея, после - в позиционном коде.
Перевод из позиционного кода в код Грея ещё проще: каждый разряд в коде Грея равен сумме по модулю 2 этого и следующего старшего разряда в позиционном коде. На C это реализуется следующим выражением:
C++
1
v ^ (v>> 1)
Вложения
Тип файла: doc 3.doc (69.5 Кб, 74 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.10.2010, 17:02
Ответы с готовыми решениями:

Битовые операции, битовые поля.
Здравствуйте! Еслть 4 диапазона чисел: 0-100, 0-100, 0-6000, 0-3. Сделать в виде битовых операций....

Битовые последовательности и битовые операции
Вычислить сумму по модулю 2 всех бит в позициях, номер которых кратен 2^k. (1, 2, 4, 8, 16, 32). ...

Используя только битовые операции и операции арифметического сложения и вычитания, вычислите число
Даны числа x и y. Используя только битовые операции и операции арифметического сложения и...

Битовые операции и операции смещения языка С
Доброго времени суток господа,помогите пожалуйста.Есть 2 кода к задаче,первый работает...

0
24.10.2010, 17:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.10.2010, 17:02
Помогаю со студенческими работами здесь

Битовые операции
Здраствуйте, помогите, пожалуйста! Надо написать три функции, используя только битовые (для...

Битовые операции
Здравствуйте, необходимо разбить двухбайтное целое число на тетрады и поменять местами 2 и 3...

Битовые операции
Всем привет! Помогите решить интересную задачу! Нужно ниже указный код переписать без условных...

битовые операции
при zt=13653, yt=0, xt=9949 for (k = 0; k&lt;16; ++k) { d = zt &gt;&gt;...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru