Найти тему
SamAlex

Арифметика для ПК. Как считает компьютер???

Здравствуйте. Если вы собираетесь изучить язык программирования python или любой другой язык, Вам необходимо знать, как компьютер хранит и обрабатывает числа. В привычной для нас системе исчисления десять знаков от 0 до 9, и называется она десятичной. А почему именно десять цифр? Видимо потому, что первобытные люди, которые изобрели эту систему, пользовались для счета пальцами рук.

Существует так же восьмиричная система исчисления. Она имеет только восемь цифр от 0 до 7. Есть еще и шестнадцатиричная система исчисления. В ней используются шестнадцать цифр. Для обозначения первых десяти цифр применяются цифры от 0 до 10, а недостающие шесть цифр дополняют буквами A, B, C, D, E, F. Но мы на них останавливаться не будем.

Сегодня поговорим о двоичной системе исчисления. Для записи любого числа используются две цифры 0 и 1. Процессор компьютера состоит из миллиардов маленьких транзисторов, которые имеют состояние логического нуля 0 – когда напряжение на выходе отсутствует, и состояние логической единицы 1 – когда на выходе присутствует напряжение. Компьютеру удобно использовать данную систему.

В привычной для нас десятичной системе, если нам нужно записать число меньше десяти, мы используем всего одну цифру. Для записи числа от 10 и 99, мы вводим новый разряд, который сначала мы приравниваем единице. Подставляя в младший разряд те же цифры от 0 до 9, после 9 опять идет 0 и мы получаем новый десяток. Когда во втором разряде мы дойдем до 99, вводим третий разряд от 100 до 999, потом четвертый, пятый и т. д.

В двоичной системе действует то же правило, только для записи числа используются две цифры 0 и 1. Поэтому, при увеличении на один, после 1 снова идёт 0, и при этом вводим следующий разряд. В двоичной системе числа от 0 до 10 выглядят так: 0, 1, 10, 11, 100, 101, 110, 111, 1000, 1001.

Для выполнения операций над числами компьютер:

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

выполняет необходимые операции (например, сложение);

результат обратно переводит в десятичную систему и выдает нам.

Давайте рассмотрим несколько примеров как можно число из десятичной системы исчисления, перевести в двоичную систему исчисления:

Пример 1.

Возьмем число 123 и воспользуемся методом последовательным делением на число 2

Записываем полученные цифры в ряд с низу вверх, получаем: 123 = 1111011.

Возьмем число 128

-2

Записываем полученные цифры в ряд с низу вверх, получаем: 128 = 10000000.

Пример 2.
Для перевода числа из десятичной системы исчисления в двоичную систему исчисления по данному методу, используется правило, что любое натуральное число можно представить в виде суммы степеней числа 2.

Например: 248 = 2^7 + 2^6 + 2^5 + 2^4 + 2^3, (Так как редактор текста не позволяет писать надстрочный знак, ЗНАК "^" - будет обозначать степень) проверяем 248 = 128 + 64 + 32 + 16 + 8. Так как самая высокая степень в данном примере 7, то в двоичной системе число 248 будет восьмизначным, степени от 0 до 7 = 8. Зная запись числа в виде суммы степеней двоек, в двоичной системе записывается число следующим образом: если двойка есть в степени n, то в n-ом разряде двоичного вида числа ставится 1, если отсутствует, то ставится 0. С числом 248 это будет выглядеть так:

-3

Записываем полученные цифры, получаем: 248 = 11111000.

Возьмем число 97 = 2^6 + 2^5 + 2^0 проверяем 97 = 64 + 32 +1. Самая высокая степень 6, значит, число будет семизначное.

-4

Записываем полученные цифры, получаем: 97 = 1100001.

Есть еще несколько вариантов, как перевести число из десятичной системы в двоичную, но мы их рассматривать не будем, а рассмотрим пример, как обратно перевести число из двоичной системы исчисления в десятичную.

Возьмем число 1010011 над этим числом начиная с самого маленького разряда (самое последнее число), расставляем степени двоек, начиная со степени 0. После этого смотрим если в n-ом разряде стоит 1, то берем двойку в степени n, в расчет. Если в n-ом разряде стоит 0, то двойку в степени n в расчет не берем. Или перемножаем полученные ряды и складываем.

-5

Получается что 1010011 = 64 + 16 + 2 + 1 = 83 или

1010011 = 1 * 2^6 +0 * 2^5 +1 * 2^4 +0 * 2^3 +0 * 2^2 +1 * 2^1 +1 * 2^0 = 64 + 0 + 16 + 0 + 0 + 2 + 1 = 83.

Переведем число 1000 в десятичную систему исчисления.

-6

Получается что 1000 = 8 или 1000 = 1 * 2^3 + 1 * 2^2 + 1 * 2^1 +1 * 2^0 = 8 + 0 + 0 + 0 = 8.

Сегодня мы рассмотрели на практике, как перевести из одной системы исчисления в другую. Есть еще несколько очень простых и быстрых методов перевода из одной системы в другую. Это стандартный калькулятор Windows, а так же различные онлайн сервисы. До новых встреч!!!