1) 10111₂ → 27₈ → 23₁₀
2) 10111₂ → 17₁₆ → 23₁₀
3) 15₁₀ → 17₈ → 001111₂
4) 15₁₀ → 0F₁₆ → 00001111₂
Объяснение:
1) в 8-ю СС:
разбиваем двоичное число на разряды по 3 цифры: 010 111₂: 010₂ = 2₈; 111₂ = 7₈.
10111₂ = 2⁴*1 + 2³*0 + 2²*1 + 2¹*1 + 2⁰*1 = 16 + 0 + 4 + 2 + 1 = 23₁₀
2) в 16-ю СС:
разбиваем двоичное число на разряды по 4 цифры: 0001 0111₂: 0001₂ = ₁₆; 0111₂ = 7₁₆
10111₂ = 17₁₆
17₁₆ = 16¹*1 + 16⁰*7 = 16 + 7 = 23₁₀
3) 15₁₀ (mod - остаток от деления, каждый раз делим на 8):
15 mod 8 = 7
1 mod 8 = 1
Остаток от деления записываем в обратном порядке. Получаем: 17₈.
17₈ в 2-ю С: 1₈ = 001₂; 7₈ = 111₂.
4) 15₁₀ (mod - остаток от деления, каждый раз делим на 16):
15 mod 16 = 15 (F)
0 mod 16 = 0
Остаток от деления записываем в обратном порядке. Получаем: 0F₁₆.
0F₁₆: 0₁₆ = 0000₂, F₁₆ = 1111₂. Выходит 00001111₂.
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "Rus");
int n, a;
cout << "Введите месяц ";
cin >> n;
cout << "Введите высакосный год ";
cin >> a;
switch (a) {
case 0: {
if (n == 1 || n == 3 || n == 5 || n == 7 || n == 8 || n == 10 || n == 12) {
cout << "31 день";
}
else
if (n == 4 || n == 6 || n == 9 || n == 11) {
cout << "30 дней";
}
else {
cout << "28 дней";
}
break;
}
case 1:
{
if (n == 1 || n == 3 || n == 5 || n == 7 || n == 8 || n == 10 || n == 12) {
cout << "31 день";
}
else
if (n == 4 || n == 6 || n == 9 || n == 11) {
cout << "30 дней";
}
else {
cout << "29 дней";
}
break;
}
}
return 0;
}
Объяснение: