Переведем 57 в двоичное:
57 / 2 = 28 (в остатке 1)
28 / 2 = 14 (в остатке 0)
14 / 2 = 7 (в остатке 0)
7 / 2 = 3 (в остатке 1)
3 / 2 = 1 (в остатке 1)
1 / 2 = 0 (в остатке 1)
57(10) = 111001(2)
Переведем 48 в двоичное:
48 / 2 = 24 (в остатке 0)
24 / 2 = 12 (в остатке 0)
12 / 2 = 6 (в остатке 0)
6 / 2 = 3 (в остатке 0)
3 / 2 = 1 (в остатке 1)
1 / 2 = 0 (в остатке 1)
48(10) = 110000(2)
111001
??????
______
110000
Первый бит в обоих случаях равен 1, значит, первый бит маски тоже равен 1.
Второй бит в обоих случаях равен 1, значит, второй бит маски тоже равен 1.
Третий бит в IP-адресе равен 1, а в адресе сети равен 0, значит, третий бит маски равен 0.
Если третий бит маски равен нулю, то все остальные биты маски тоже равны нулю.
Но при переводе десятичных чисел в двоичные мы получили 6-битовое двоичное число, а нам нужно 8-битовое. Значит, слева добавляем два нуля.
00111001
????????
________
00110000
Свойство маски гласит, что в ней сначала до некоторого разряда записаны только единицы, а затем только нули. Значит, первый и второй бит в новом представлении маски равны 1.
Искомая маска: 11110000(2).
Переведем 11110000 в десятичное число.
(1*2^7)+(1*2^6)+(1*2^5)+(1*2^4)+(0*2^3)+(0*2^2)+(0*2^1)+(0*2^0)=128+64+32+16=240
Ответ: 240(10)
Все верно. Но лучше использовать заместо цикла while, цикл for. И не нужна запись str, и.к. Изначально ужевводится в строковом виде
Есть стек чисел (условно) бесконечной глубины.
Операция (сложение, вычитание, умножение, деление и т. д.) выполняется над элементом(ами) в самом верху стека. Результат отправляется обратно в стек.
Это дает возможность выполнять сложные вычисления с учетом правил приоритета операторов, т. к. можно хранить результаты предыдущих вычислений в стеке.
Например, (5 + 1) * (6 - 2) запишется так:
5 1 + (сейчас в стеке по адресу 0 лежит 6) 6 2 - (сейчас в стеке по адресу -1 лежит 6, а по адресу 0 лежит 4) * (сейчас в стеке по адресу 0 лежит 24).
Стек:
Адрес Число
0 24
-1 -
-2 -
... -
1,25Кбайт=1280байт
1280/120 байт/с - скорость передачи
250/(1280/120)= 23,4375с - время передачи 250 байт информации
Дано двухзначное и трехзначное число. Найти квадрат суммы десятков этих чисел.