СВЕТ: СПАСИБО
01-12-2023
Читать статью
Калужский Александр: Задача про Цаплю: https://www.youtube.co..
24-11-2023
Сергей: спасибо большое
Сегодня разберём теоретический аспект работы с различными системами счисления. Основными системами счисления являются: двоичная, восьмеричная, десятичная (наша родная) и шестнадцатиричная.
Для начала нужно написать себе в черновик следующую таблицу:
Давайте рассмотрим данную таблицу. В первом столбце идут числа от 0 до 15 в нашей родной десятичной системе счисления. Во втором столбце идут числа так же от 0 до 15, но уже в двоичной системе, а в третьем тоже от 0 до 15 в шестнадцатиричной системе счисления.
Написать числа от 0 до 15 в нашей родной десятичной системе не у кого затруднений не вызовет.
Числа в двоичной же системе лучше всего написать по следующему правилу: в младшем разряде чередуем ноль и единицу, в следующем разряде чередование нулей и единиц происходит в два раза медленнее (два нуля, две единицы, два нуля и т.д.), в следующем разряде ещё в два раза медленнее чередование (4 нуля, 4 единицы и т.д.) и наконец 8 нулей и 8 единиц - в самом старшем разряде.
В шестнадцатиричной системе счисления помимо наших привычных символов от 0 до 9 придуманы символы A, B, С, D, E, F, и из этих 16 символов (от 0 до 15) составляется любое число, так же как в нашей системе составляется любое число из десяти цифр (от 0 до 9).Соответственно, чтобы посчитать от 0 до 15 - нужно перебрать все символы, которые имеются в шестнадцатиричной системе (от 0 до F).
Теперь рассмотрим, как с помощью данной таблицы переводить из двоичной системы в шестнадцатиричную. Переведём число 100101000 из двоичной системы в шестнадцатиричную.
Чтобы выполнить данную задачу, необходимо разбить наше двоичное число по 4 цифры начиная с правого края, и каждую 4-ку цифр нужно найти в нашей таблице: 1000 - это будет 8, 0010 - 2, 0001 -это 1. В старшем разряде у нас осталась одна единица, мы её дополнили 3-мя нулями.
Значит число 1001010002 в двоичной системе счисления будет 12816 в шестнадцатиричной.
Из двоичной системы в восьмеричную систему X2 -> X8 переводим точно так же, только теперь из таблицы берём не по четыре цифры, а по три цифры.
Таким образом, число 10011110012 в двоичной системе будет равно 11718 в восьмеричной системе.
Делаем точно так же, как и при переводе чисел из двоичной в шестнадцатиричную, но в обратном порядке. По таблице смотрим: D - 1101, F - 1111, 4 - 0100. Получается число 010011111101. Слева нули мы отбрасываем 10011111101. 4FD16 -> 100111111012.
Поступаем, как мы поступали ранее. Разбиваем каждую цифру восьмеричной системы по 3 цифры двоичной системы, используя таблицу, которая приведена в начале статьи. Нули слева откидываем. 3478 -> 111001112.
Переведём число:
Берём цифры двоичного числа, начиная с младшего разряда (т.е. справа), и начинаем умножать на двойку в соответствующей степени. Степень начинается с нуля и с каждым разом увеличивается на 1. Все эти произведения суммируем.
После вычисления получаем число в десятичной системе:
Результат 110100112 -> 21110
Рассмотрим, как перевести из десятичной системы в двоичную. Возьмём число 213.
Переведём число A10 из шестнадцатиричной системы в восьмеричную A1016 -> X8.
Разбиваем каждую цифру шестнадцатиричного кода по 4-ри цифры двоичного кода из таблицы в начале статьи (Т.е. переводим число в двоичную систему). Полученное число разбиваем по три цифры - и собираем число уже в восьмеричной системе - как показано на рисунке. Обратно переводим аналогично, только в обратном порядке.
Переведём число 5B3 из шестнадцатиричной системы в десятичную систему счисления 5B316 -> X10.
Действуем точно также, как при переводе из двоичной системы в десятичную, только умножаем цифры на 16 в соответствующей степени. Буквы превращаем в десятичные числа из таблицы. Начинаем, как всегда, справа, т.е. с младшего разряда.
Переведём число 203 из десятичной системы в шестнадцатиричную систему счисления 20310 -> X16
Делим число на 16 до тех пор пока не получится число от 1 до 15. Записываем остатки в обратном порядке. Числа от 10 до 15 превращаем в буквы.
Переведём число 347 из восьмеричной системы в десятичную систему счисления 3478 -> X10
Делаем аналогично предыдущим примерам, только теперь умножаем на 8 в соответствующей степени.
Делаем аналогично предыдущим примерам.