Скачиваний:
16
Добавлен:
16.01.2016
Размер:
596.47 Кб
Скачать
    1. Задание 5

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

Детали реализации:

Во всех таких задачах предполагается, что

а) все используемые числа являются однобайтовыми без знаковыми целыми (если не указано отдельно другое описание числа),

б) отсчет бит в байте начинается с единицы, начиная с младшего бита.

в) при описании маски используется следующая интерпретация:

символ «?» означает ровно один произвольный бит.

символ «*» означает любую последовательность бит.

а) проверить, присутствует ли в данном байте целиком битовая последовательность «111111»,

б) заменить в данном байте отдельные биты так, чтобы данный байт удовлетворял битовой маске «??10??10».

Задание а

Так как мы используем целое однобайтовое число без знака то битовой последовательности «111111» удовлетворяет только число 1510 или F16.

Следовательно, нам нужно сравнить какое-либо число с исходным числом. На языке программирования Pascal это будет выглядеть следующим образом:

Задание б

Для того чтобы проверить удовлетворяет данный байт данной битовой маске воспользовались логическим умножением проверяемого числа на число 100010 = 2216

Затем выполним сравнение данного числа и получим следующий результат:

    1. Задание 6

Для заданного IP адреса и маски подсети рассчитать следующие параметры (см. дополнительную теоретическую часть):

а) адреса хостов в данной подсети (минимальный/максимальный IP),

б) адрес подсети,

в) число хостов,

г) широковещательный адрес (Broadcast),

д) префикс сети.

IP: 148.200.199.250, маска подсети: 255.255.255.240.

Выполнение:

  1. Переведем IP адрес и маску подсети в двоичный формат, получим: маска подсети - 11111111.11111111.11111111.11110000; IP адрес – 10010100.11001000.11000111.11111010.

  2. Определили адрес подсети путем логического умножения маски подсети на IP адрес, получили: 10010100.11001000.11000111.111100002 или 148.200.199.24010.

  3. Префикс сети - это количество единиц в двоичном коде маски подсети, в данном случае префикс сети равен 28.

  4. Для нахождения широковещательного адреса применим побитовое сложение IP адреса и инверсированной маски подсети, получим: 10010100.11001000.11000111.111101012 или 148.200.199.24510.

  5. Максимальный и минимальный адрес хостов получается путем прибавления единицы к адресу подсети и вычитании единицы из широковещательного адреса, получили: 148.200.199.241 и 148.200.199.244соответственно.

  6. Число хостов получается из разности максимального и минимального адреса хостов и равен: 3.

Заключение

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

Соседние файлы в предмете Алгоритмические языки и основы программирования