elena2213
17.12.2020 10:59

Вычислить значение функции и осуществить вывод исходных данных и результат вычисления на языке c++.


Вычислить значение функции и осуществить вывод исходных данных и результат вычисления на языке c++.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
msSisi1
27.09.2021 13:08

96

Объяснение:

Сначала вспомним, что такое конъюнкция: это аналог логической операции И(в простонародье - операции умножения). В бинарной(двоичной) системе счисления она используется так :

0 и 0 = 0

1 и 0 = 0

0 и 1 = 0

1 и 1 = 1

Ну, а теперь возьмём пример

Адрес: 231.32.255.131

Маска: 255.255.240.0

Отлично. Посмотрим сразу на число 255, оно в двоичной системе выглядит так : 11111111. Это значит, что при побитовой конъюнкции любого числа, получается тоже самое число. Т.е. :

231 = 11100111, 255 = 11111111. (возьму первые 4 бита : 1*1=1,1*1=1,1*1=1,1*0=0)

Т.о. 231(логическое И)255=231.

Теперь адрес сети:

231*255=231

32*255=32

255*240=240

131*0=0

Вот и получили адрес сети : 231.32.240.0

Теперь решение задачи :

Тут нужно в обратную сторону. Есть IP адрес, есть узел.

Узел : 98.162.71.123

Адрес: 98.162.71.96

Надо найти правый байт. У узла он равен 123(в десятичной) -> 1111011(в двоичной). У адреса он равен 96(в десятичной) -> 1100000.

Ну, а теперь обратное действие, смотрим на байты узла, умножаем на x, получаем байты адреса. Вот так :

1111011*=1100000

1*х=1 -> x=1

1*x=1 -> x=1

1*x=0 -> x=0

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

Получили =1100000, а это тоже самое, что и последний байт адреса сети, и равен он 96.

Получили маску : 255.255.255.96

0,0(0 оценок)
Ответ:
arinapes30
18.10.2020 19:33
// не совсем понял условие по которому оперделяется нужный индекс// мне показалось, что это умножение, если не так, то сам исправишь условие// выхода из цикла using System;

namespace ConsoleApplicationTest
{
    class Program
    {
        static void Main(string[] args)
        {
            double A_1 = 1;
            double A_2 = 2;
            double A_3 = (A_1 + A_2) / 2;
            Console.Write("D = ");
            double D = double.Parse(Console.ReadLine());
            int k = 3;
            while (Math.Abs(A_3 * A_2) >= D)
            {
                A_1 = A_2;
                A_2 = A_3;
                A_3 = (A_1 + A_2) / 2;
                k++;
            }
            Console.WriteLine("k = {0}; Ak-1 = {1}; Ak = {2}", k, A_2, A_3);
            Console.ReadLine();
        }
    }
}
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота