Практическое занятие № 11
Тема: «Выполнение операций в различных системах счисления»
Цель: закрепить знания о способах представления информации в различных системах счисления, способах перевода чисел и выполнение побитных операций.
Теоретические сведения
Назначение побитовых логических операций
1. Проверка битов
Проверка битов осуществляется с помощью битовой логической операции and.
Представим, что имеется байт памяти с неизвестным нам содержимым.

Известно, что логическая операция and возвращает 1, если только оба операнда содержат 1. Если к неизвестному числу применить побитовое логическое умножение (операцию and) на число 255 (что в двоичном представлении 1111 1111), то в результате мы получим неизвестное число. Обнулятся те единицы двоичного представления числа 255, которые будут умножены на разряды неизвестного числа, содержащие 0.
Получается, что неизвестное число - 38 (0010 0110)
2. Обнуление битов
Чтобы обнулить какой-либо бит числа, нужно его логически умножить на 0.

Т.е. чтобы обнулить третий с конца бит числа x, надо его логически умножить на 251 или на (255 - 22)
3. Установка битов в единицу
Для установки битов в единицу используется побитовая логическая операция ИЛИ.
Чтобы установить четвёртый по старшинству бит числа x в единицу, надо его логически сложить с 8 (x or 8).

4. Операции побитового циклического сдвига
Помимо побитовых логических операций во многих языках программирования предусмотрены битовые операции циклического сдвига влево или вправо. Эти операции обозначаются shl(сдвиг влево) и shr (сдвиг вправо).
Первым операндом операций сдвига служит целое число, над которым выполняется операция. Во втором операнде указывается, на сколько позиций сдвигаются биты первого числа влево или вправо.
Например, 105 shl 3 или 105 shr 4. Число 105 в двоичном представлении имеет вид 0110 1001.

При сдвиге влево теряются старшие биты исходного числа, на их место становятся младшие. Освободившиеся младшие разряды заполняются нулями.
При сдвиге вправо теряются младшие биты исходного числа, на их место становятся старшие. Освободившиеся старшие разряды заполняются нулями, если исходное число было положительным.
Ход работы
Задание 1. Заполнить таблицу. Двоичный код представить в обратном и дополнительном коде. Выполнить указанные операции. Все переводы привести в тетради.
|
№ вар |
Dec А |
Оct В |
Нex С |
Bin D |
Обратный |
Дополни- тельный |
Операция |
|
1. |
78,2510 |
|
|
|
|
|
A1+D2+B3-C4 |
|
2. |
|
3138 |
|
|
|
|
A1+D2-B3+C4 |
|
3. |
101,510 |
|
|
|
|
|
A1-D2+B3+C4 |
|
4. |
|
|
7816 |
|
|
|
A1-D2-B3+C4 |
|
5. |
65,7510 |
|
|
|
|
|
A5-D6+B7-C8 |
|
6. |
|
|
|
1001110 |
|
|
A5+D6-B7-C8 |
|
7. |
1037,510 |
|
|
|
|
|
A5-D6-B7-C8 |
|
8. |
|
678 |
|
|
|
|
-A5+D6+B7-C8 |
|
9. |
|
548 |
FА16 |
|
|
|
-A9+D10-B11+C12 |
|
10. |
|
|
|
|
|
|
-A9-D10+B11+C12 |
|
11. |
|
|
5С16 |
|
|
|
-A9-D10-B11+C12 |
|
12. |
|
328 |
|
|
|
|
-A9-D10+B11-C12 |
|
13. |
|
|
3B16 |
|
|
|
-A13+D14-B15-C16 |
|
14. |
|
|
|
1100001 |
|
|
-A13-D14-B15-C16 |
|
15. |
38,2510 |
|
|
|
|
|
A13+D14+B15-C16 |
|
16. |
|
|
|
|
|
|
A13+D14-B15+C16 |
|
17. |
19,510 |
|
|
|
|
|
A17-D18+B19+C20 |
|
18. |
|
|
|
|
|
|
A17-D18-B19+C20 |
|
19. |
85,7510 |
|
|
|
|
|
A17-D18+B19-C20 |
|
20. |
|
|
|
|
|
|
A17+D18-B19-C20 |
|
21. |
137,510 |
|
|
|
|
|
A21-D22-B23-C1 |
|
22. |
|
|
|
|
|
|
-A21+D22-B23-C1 |
|
23. |
68,2510 |
|
|
|
|
|
-A21+D22-B23+C1 |
Задание 2. Обнулить указанный бит числа, установить в единицу и осуществить циклический сдвиг. Все вычисления привести в тетради.
|
№ вар |
Bin |
Обнулить |
Установить в 1 |
Сдвиг |
|
1. |
01010000 |
5 |
2 и 4 |
shl 2 |
|
2. |
01010001 |
7 |
3 и 6 |
shr 2 |
|
3. |
01010010 |
2 и 5 |
6 |
shr 3 |
|
4. |
01010011 |
1 и 2 |
3 |
shl 3 |
|
5. |
01010100 |
3 и 5 |
4 |
shl 4 |
|
6. |
01010101 |
1 и 3 |
6 |
shr 4 |
|
7. |
01010110 |
2 и 3 |
8 |
shl 5 |
|
8. |
01010111 |
1 и 5 |
6 |
shl 6 |
|
9. |
01011000 |
4 |
1 и 2 |
shr 5 |
|
10. |
01011001 |
7 |
2 и 3 |
shr 6 |
|
11. |
01011010 |
7 |
1 и 3 |
shl 2 |
|
12. |
01011011 |
7 |
3 и 6 |
shl 3 |
|
13. |
01011100 |
3 и 7 |
1 |
shl 4 |
|
14. |
01011101 |
4 и 5 |
8 |
shr 2 |
|
15. |
01011110 |
5 |
1 и 6 |
shr 3 |
|
16. |
01100000 |
7 |
2 и 4 |
shl 5 |
|
17. |
01100001 |
6 |
2 и 3 |
shl 6 |
|
18. |
01100010 |
7 |
1 и 5 |
shr 4 |
|
19. |
01100011 |
1 и 2 |
8 |
shl 3 |
|
20. |
01100100 |
3 и 6 |
7 |
shl 3 |
|
21. |
01100101 |
1 и 3 |
8 |
shr 5 |
|
22. |
01100110 |
3 |
1 и 5 |
shr 6 |
|
23. |
01100111 |
7 |
4 и 5 |
shr 2 |
Контрольные вопросы
1. Что такое система счисления?
2. Определите операцию, которая была применена к двоичным числам 1010 и 111, если в результате получено число 11
3. Как называется система счисления, где кроме цифр используются буквы латинского алфавита?
4. Как классифицируются системы счисления? Дайте определения каждого класса.
5. Прочитайте шуточное стихотворение А. Н. Старикова «Необыкновенная девочка» и попробуйте разгадать загадку поэта. Запишите стихотворение в понятном виде.
Ей было тысяча сто лет,
Она в сто первый класс ходила,
В портфеле по сто книг носила.
Все это правда, а не бред.
Она ловила каждый звук
Своими десятью ушами,
И десять загорелых рук
Портфель и поводок держали.
Когда, пыля десятком ног,
Она шагала по дороге,
За ней всегда бежал щенок
С одним хвостом, зато стоногий.
И десять темно-синих глаз
Рассматривали мир привычно …
Но станет все совсем обычным,
Когда поймете наш рассказ.
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.