М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
boikov2o
boikov2o
25.08.2020 05:43 •  Информатика

Для узла с IP-адресом 159.152.66.19 адрес сети равен 159.152.64.0. Для скольких различных значений маски это возможно

👇
Ответ:
наталя40
наталя40
25.08.2020

5

Объяснение:

Маска в двоичном представлении - это 32 бита, первые несколько бит равны 1, остальные 0. Адрес сети из адреса узла получается побитовым И, то есть IP адрес переводится в двоичную форму, и вычисляется побитовое И с соответствующим битом маски.

Переводим IP узла и адрес сети в двоичную форму (можно сообразить, что достаточно перевести только второй справа байт)

159.152.66.19 = ... . ... . 01000010 . ...

159.152.64.0 = ... . ... . 01000000 . ...

Побитовое И работает так: 1 И 1 = 1, все остальные комбинации 0.

01 в начале должно сохраниться, поэтому второй страва байт маски  начинается на 11.

10 в конце должно превратиться в 00, поэтому второй справа байт маски оканчивается на 00.

На оставшихся местах 0 превратился в 0, так что в маске может быть как 0, так и 1.

Вот все возможные варианты маски:

(16 единиц) 11000000 (8 нулей)

(16 единиц) 11100000 (8 нулей)

(16 единиц) 11110000 (8 нулей)

(16 единиц) 11111000 (8 нулей)

(16 единиц) 11111100 (8 нулей)

4,6(99 оценок)
Открыть все ответы
Ответ:
Varkorn
Varkorn
25.08.2020

Во время ВОВ сложные технические и криптографические средства зашиты информации стали во многом ключевыми, ведь ценность информации возросла кратно. К июню 1941, когда немецкие армии вторглись на территорию СССР, наша система защиты государственной тайны была практически полностью сформирована. Она успешно выполняла целый ряд поставленных перед ней задач. От любых иностранных разведок надежно защищались все информационные ресурсы: мобилизационные, технические, военные, политические, идеологические и природные.

4,5(87 оценок)
Ответ:
Victoriahamidul
Victoriahamidul
25.08.2020

#include <stdio.h>

#include <stdlib.h>

int main()

{

int year, century;

//     { "I", "IV", "V", "IX",  "X", "XL", "L", "XC", "C", "CD", "D", "CM", "M" };

 short ArrRom[]   = { 73,  18774, 86, 18776,  88, 22604, 76, 22595, 67, 17220, 68, 17229, 77 };

 int ArrRom2[] =    { 1,    4,    5,    9,    10,   40,  50,   90,  100, 400, 500,  900,  1000, 5000};

 /*Т.к тип char в себе содержит только 1 байт,а нам местами желательно хранить 2 символа (4 римскими цифрами - IV),

 поэтому используем тип short и помещаем в него десятичные представления наших символов, если с одинарными символами

 все просто, то с двойными делаем такую схему: ASCII код символа I в десятичной системе счисления = 73, далее мы

 переводим в двойчную систему счисления ‭01001001‬ тоже самое делаем с символом V = 86 = ‭01010110‬, теперь совмещаем

 0100100101010110 и переводим данное число в десятный формат = 18774. И того код символа I попадаем в старший

 байт, а код символа V в младший.**

*/

 printf("Enter the year\n");

 

 while (scanf_s("%d", &year) != 1 || year>399900)

 {

  printf("Invalid format\n");

  system("pause");

  return 0;

 }

 

if (year % 100 == 0)

{

 century = year / 100;

}

else

{

 century = year / 100 + 1;

}

printf("%d year refer to ", year);

for (int i = 0;century != 0; ++i) //Условие конца цикла когда век будет равен 0

{

 int j=0;

 for (; century >= ArrRom2[j]; ++j);// В этом цикле введенный нами век сравнивается с массивом содержащим цифры.

 //Если век больше текущего элемента массива, то сравниваем со следующим. Условие конца цикла - век больше очередного

 //элемента массива.*

   

 printf("%c",ArrRom[j - 1] >> 8);  //**т.к. в оджном элементе массива закодировано 2 символа, чтобы достать первый,

 //мы сдвигаем значение на 8 бит вправо. Например, число 0100100101010110 в двоичной системе сдвигаем на 8 бит вправо

 //получаем 0000000001001001. При печати будет выглядеть как I.

 printf("%c", ArrRom[j - 1] << 8 >> 8); //здесь сначала сдвигаем на 8 бит влево, чтобы получить 0101011000000000,

 //т.е. убрать младший байт. Затем сдвигаем обратно, чтобы убрать появившиеся нули в младшем байте. В итоге получаем

 //0000000001010110.  При печати будет выглядеть как V.

 century -= ArrRom2[j - 1];//*т.к при сравнении цикл останавливается на элементе большем, чем нам нужен, то мы

 //вычитаем 1 из итератора чтобы получить нужный нам эллемент,затем мы вычитаем его из века.

}

printf(" century \n");

system("pause");

return 0;

}

Объяснение:

4,5(44 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ