Для
задачи потребуются арифметические операции - и mod - остаток от деления)
Создайте программу, которая для введённого целого числа
k (от 1 до 99) выводит фразу Мне к лет», где число, заменяя в нужных случаях слово «лет» словом «год» или "года". Например, при 70 должно быть выведено «Мне 70 лет», при = 15 «Мне 15 лет», при = 23 ,Мне 23 года» и т. п.
Т.к. первый слева байт твой IP-адреса узла = первому слева байту адрес сети, то первый байт Маски = 11111111. Аналогично второй байт Маски = 11111111.
Переведем число 161, которому равен третий байт IP-адреса, в двоичный код. Получаем: 161 = 10100001. Т.к. при поразрядной конъюнкции IP-адреса узла и Маски получилось 160 (10100000), то третий байт Маски может принимать минимальное значение 11100000. Т.е. это дает нам пять нулей.
Четвертый байт адреса сети равен 0. Следовательно, наименьшее значение четвертого байта Маски может быть 00000000. Это дает восемь нулей.
Суммируем получившиеся нули. 5 + 8 = 13.
вот и всё)
ответ: 13
представления целого числа со знаком называется "дополнительный код".
Алгоритм представления положительного числа:
1. Перевести число в двоичную систему счисления
2. Записать число в прямом коде в 16-ти двоичных разрядах
1.
2. (дополняем незначащими нулями до 15-ти разрядов и в старшем разряде ставим 0 в качестве знака положительного числа)
Представление числа:
Алгоритм представления отрицательного числа:
1. Перевести модуль числа в двоичную систему счисления
2. Записать число в прямом коде в 16-ти двоичных разрядах
3. Найти обратный код (то есть инвертировать прямой код)
4. Найти дополнительный код, прибавив единицу к обратному коду
1.
2. (обычно дополняют незначащими нулями до 15-ти разрядов и в старшем разряде ставят 1 в качестве знака "-", но также допускается не выставлять значение 1 в знаковом разряде, а на следующем шаге проинвертировать все его разряды, не обращая внимания, знаковый ли это разряд или информационный. Я выбрал второй вариант)
3. (заменяем в прямом коде нули на единицы и наоборот)
4.
Представление числа: