449 подписчиков

Инструкция для тех, кто путается с системами счисления, по-прежнему считает в столбик или вообще не умеет переводить

12K прочитали

Привет! На носу КЕГЭ по информатике, а ты по-прежнему переводишь числа из одной системы счисления (СС) в столбик или считаешь в уме? Держи лайфхак, который поможет тебе больше не ошибаться в вычислениях.

Привет! На носу КЕГЭ по информатике, а ты по-прежнему переводишь числа из одной системы счисления (СС) в столбик или считаешь в уме?

Перевод из любой системы счисления в десятичную на Python

Привет! На носу КЕГЭ по информатике, а ты по-прежнему переводишь числа из одной системы счисления (СС) в столбик или считаешь в уме?-2

В первой строке число 123 переводится из 4-ричной СС в 10-ю, во второй - число 1010 из 2-й СС в 10-ю, в третьей - число F5A0 из 16-й СС в 10-ю, а в четвертой строке происходит простое преобразование строки '100' в целое число 100.

Конечно, вы подумали: "И зачем этот пример в 4-й строке?" На самом деле он демонстрирует то, как работает функция INT. Данная функция всегда принимает на вход два аргумента: строку и СС, из которой считывается строка. А перевод всегда осуществляется в десятичную СС. Но, т.к. мы привыкли в повседневной жизни пользоваться именно десятичной СС, то второй аргумент не пишем.

Привет! На носу КЕГЭ по информатике, а ты по-прежнему переводишь числа из одной системы счисления (СС) в столбик или считаешь в уме?-3

Перевод из десятичной системы счисления в двоичную на Python

Привет! На носу КЕГЭ по информатике, а ты по-прежнему переводишь числа из одной системы счисления (СС) в столбик или считаешь в уме?-4

В первой строке мы заводим переменную а и с помощью функции BIN преобразуем число 37 в двоичный код с префиксом '0b'. Во второй строке выводим получившееся значение и тип переменной. Тип 'STR' говорит нам о том, что с данным значением можно обращаться как со строкой. В третьей строке мы снова переводим значение переменной a в десятичную СС.

Пример. Подсчитать количество нулей и единиц в двоичной записи числа 37

Привет! На носу КЕГЭ по информатике, а ты по-прежнему переводишь числа из одной системы счисления (СС) в столбик или считаешь в уме?-5

Этот пример демонстрирует, что важно не забывать о первом символе незначащем нуле при подсчете количества нулей. Также можно избавиться от нуля, обрезав значение переменной a.

Привет! На носу КЕГЭ по информатике, а ты по-прежнему переводишь числа из одной системы счисления (СС) в столбик или считаешь в уме?-6

Перевод из десятичной системы счисления в шестнадцатеричную/восьмеричную на Python

Привет! На носу КЕГЭ по информатике, а ты по-прежнему переводишь числа из одной системы счисления (СС) в столбик или считаешь в уме?-7

Перевод в 16-ю и 8-ю систему также прост, как и перевод в двоичную систему. В первой строке число 125 переводится в 16-ю СС, во второй строке - из 16-й в 10-ю СС. В третьей строке число 125 переводится из 10-й в 8-ю СС, в четвертой - обратно.

Перевод из десятичной системы счислению в любую другую на Python

А как же быть, если нам нужно перевести в 5-ричную или 11-ричную систему счисления? Здесь одной строчкой кода не отделаешься.

Привет! На носу КЕГЭ по информатике, а ты по-прежнему переводишь числа из одной системы счисления (СС) в столбик или считаешь в уме?-8

Данный пример переводит число 134 из десятичной СС в пятиричную.

Привет! На носу КЕГЭ по информатике, а ты по-прежнему переводишь числа из одной системы счисления (СС) в столбик или считаешь в уме?-9

Более универсальное решение, с применением функции.