100110101011₂ = 2 475₁₀ = 4653₈ = 9AB₁₆
Объяснение:
100110101011₂ = 1 * 2¹¹ + 0 * 2¹⁰ + 0 * 2⁹ + 1 * 2⁸ + 1 * 2⁷ + 0 * 2⁶ + 1 * 2⁵ + 0 * 2⁴ + 1 * 2³ + 0 * 2² + 1 * 2¹ + 1 * 2⁰ = 2 048 + 256 + 128 + 32 + 8 + 2 + 1 = 2 475₁₀
100110101011₂ - делим на тройки начиная с конца и переводим в 10 СС
011₂ = 1 * 2¹ + 1 * 2⁰ = 2 + 1 = 3₁₀
101₂ = 1 * 2² + 0 * 2¹ + 1 * 2⁰ = 4 + 1 = 5₁₀
110₂ = 1 * 2² + 1 * 2¹ + 0 * 2⁰ = 4 + 2 = 6₁₀
100₂ = 1 * 2² + 0 * 2¹ + 0 * 2⁰ = 4₁₀
записываем снизу вверх и получаем 8 СС
100110101011₂ = 4653₈
100110101011₂ - делим на четверки начиная с конца и переводим в 10 СС
1011₂ = 1 * 2³ + 0 * 2² + 1 * 2¹ + 1 * 2⁰ = 8 + 2 + 1 = 11₁₀
1010₂ = 1 * 2³ + 0 * 2² + 1 * 2¹ + 0 * 2⁰ = 8 + 2 = 10₁₀
1001₂ = 1 * 2³ + 0 * 2² + 0 * 2¹ + 1 * 2⁰ = 8 + 1 = 9₁₀
В качестве цифр 16 СС используются цифры от 0 до 9 и латинские буквы от A до F.
А = 10₁₀ B = 11₁₀ C = 12₁₀ D = 13₁₀ E = 14₁₀ F = 15₁₀
записываем снизу вверх и получаем 16 СС (не забывая заменять числа от 10 до 15 на буквы)
100110101011₂ = 9AB₁₆
Так как язык не указан, приведу пример на SWI-Prolog.
Код:
100110101011₂ = 2 475₁₀ = 4653₈ = 9AB₁₆
Объяснение:
100110101011₂ = 1 * 2¹¹ + 0 * 2¹⁰ + 0 * 2⁹ + 1 * 2⁸ + 1 * 2⁷ + 0 * 2⁶ + 1 * 2⁵ + 0 * 2⁴ + 1 * 2³ + 0 * 2² + 1 * 2¹ + 1 * 2⁰ = 2 048 + 256 + 128 + 32 + 8 + 2 + 1 = 2 475₁₀
100110101011₂ - делим на тройки начиная с конца и переводим в 10 СС
011₂ = 1 * 2¹ + 1 * 2⁰ = 2 + 1 = 3₁₀
101₂ = 1 * 2² + 0 * 2¹ + 1 * 2⁰ = 4 + 1 = 5₁₀
110₂ = 1 * 2² + 1 * 2¹ + 0 * 2⁰ = 4 + 2 = 6₁₀
100₂ = 1 * 2² + 0 * 2¹ + 0 * 2⁰ = 4₁₀
записываем снизу вверх и получаем 8 СС
100110101011₂ = 4653₈
100110101011₂ - делим на четверки начиная с конца и переводим в 10 СС
1011₂ = 1 * 2³ + 0 * 2² + 1 * 2¹ + 1 * 2⁰ = 8 + 2 + 1 = 11₁₀
1010₂ = 1 * 2³ + 0 * 2² + 1 * 2¹ + 0 * 2⁰ = 8 + 2 = 10₁₀
1001₂ = 1 * 2³ + 0 * 2² + 0 * 2¹ + 1 * 2⁰ = 8 + 1 = 9₁₀
В качестве цифр 16 СС используются цифры от 0 до 9 и латинские буквы от A до F.
А = 10₁₀ B = 11₁₀ C = 12₁₀ D = 13₁₀ E = 14₁₀ F = 15₁₀
записываем снизу вверх и получаем 16 СС (не забывая заменять числа от 10 до 15 на буквы)
100110101011₂ = 9AB₁₆
Так как язык не указан, приведу пример на SWI-Prolog.
Код:
read_int(Int) :- read(Int), integer(Int).split_int_by_numbers(0, []) :- !.split_int_by_numbers(N, [Number|Ints]) :- Number is mod(N, 10), RestN is div(N, 10), split_int_by_numbers(RestN, Ints).test_to_div(_, []).test_to_div(N, [Number|Ints]) :- mod(N, Number) =:= 0, test_to_div(N, Ints). test(Int) :- split_int_by_numbers(Int, Numbers), test_to_div(Int, Numbers), write(Int), write(" - Yes!"), nl.test(Int) :- write(Int), write(" - No!"), nl.?- read_int(Int), test(Int).