Таких чисел четыре. Первое, 110(2) = 6(10)
Следующее получится, если добавить старший бит, равный 1, 1110(2) = 14(10), затем добавляется 2 бита 10 -> 10110(2) = 22(10)
и последнее число , добавляется 2 бита 11
-> 11110(2) = 30(10)
Или другими словами, к числу 110(2) = 6(10)
добавляются числа, кратные 8, 6+8, 6+16, 6+24
Программу я не смогу написать, но примерный алгоритм дам.
Если (M = 1, 3, 5, 7, 8, 10, или 12) И (D <= 30), то (D = D + 1)
Если (M = 1, 3, 5, 7, 8, 10) И (D = 31), то (M = M + 1, D = 1)
Если (M = 12) И (D = 31), то (G = G + 1, M = 1, D = 1)
Если (M = 4, 6, 9, 11) И (D <= 29), то (D = D + 1)
Если (M = 4, 6, 9, 11) И (D = 30), то (M = M + 1, D = 1)
Если (M = 2) И (D <= 27), то (D = D + 1)
Если (M = 2) И (G mod 4 <> 0) И (D = 28), то (M = 3, D = 1)
Если (M = 2) И (G mod 4 = 0) И (D = 28), то (D = D + 1)
Если (M = 2) И (G mod 4 = 0) И (D = 29), то (M = 3, D = 1)
Если (M = 2) И (G = 1900 или 2100) И (D = 28), то (M = 3, D = 1)
В последней строчке я учёл разницу между Григорианским и Юлианским календарями.
По Юлианскому после 28.02 1900 или 2100 года наступит 29.02.
По Григорианскому наступит 01.03.
10101010(2) =170(10)
Решение:
Приведем 10101010 из системы счисления 2 в десятичную систему счисления
101010102=1·2(7) +0·2(6) +1·2(5) +0·2(4) +1·2(3) +0·2(2) +1·2(1) +0·2(0) =170(10)
252(8) =170(10)
Приведем 252 из системы счисления 8 в десятичную систему счисления
252(8)=2·8(2) +5·8(1) +2·8(0) =170(10)
7(16) =7(10)
Приведем 7 из системы счисления 16 в десятичную систему счисления
7(16)=7·16(0) =7(10)
170(10) - 170(10) + 7(10) = 7(10)
011011000111010100
101100010011110010
011111100010011101