Найти тему

Арифметика машины

Привет всем любителям математики!

Вы когда-нибудь задумывались, как считают вычислительные машины? Например, Вы вводите в калькулятор на компьютере: 21+64. И как происходят вычисления там - внутри этой машины из пластика и железа? Мы-то считаем этот пример в уме, складывая единицы и десятки, получая конечный результат - 85. А как это делает ЭВМ? Дело в том, что мы, как известно, пользуемся десятичной системой счисления, т. е. системой, в которой используется десять знаков для записи чисел - это цифры от 0 до 9. Так сложилось исторически, ведь у нас на двух руках десять пальцев, поэтому нам так удобно использовать десятичную систему. Совсем по-другому обстоит дело в электронном "мозге" компьютера. У него нет десяти пальцев, поэтому десятичная система ему совершенно неудобна. Зато его процессор - "мозг" - состоит из миллионов и миллиардов маленьких полупроводников - транзисторов. Через каждый такой транзистор электрический ток может либо идти, либо нет. Поэтому компьютеру удобно использовать этот факт - каждый маленький транзистор может находится в двух устойчивых состояниях: ток через него идёт - для компьютера это 1; либо ток через него не идёт - для компьютера это 0. Получается, для записи чисел и всех расчётов с ними, компьютер использует двоичную систему счисления. Скорее всего, Вы хоть раз в жизни слышали о ней. И она, на самом деле, очень удобная - ведь, имея в распоряжении только 0 и 1, складывать и умножать там очень просто! Люди тоже могли бы её использовать, но для нас она имеет один существенный недостаток - по мере возрастания очень быстро числа становятся неимоверно длинными. Для компьютера же это не проблема :)

Итак, как же выглядят числа в двоичной системе? Наша привычная десятичная система устроена так: идут, например, числа: 26, 27, 28, 29, а дальше в разряде единиц цифры, используемые для записи, закончились, поэтому после 9 снова идёт 0, но при этом к разряду десятков прибавляется 1, то есть следующее число - 30. В двоичной же системе для каждого разряда есть только две цифры: 0 и 1. Поэтому, при увеличении на один, после 1 снова идёт 0, но при этом в следующем разряде добавляется 1. Пример: в десятичной системе числа идут так: 0, 1, 2, 3, 4, 5, 6, 7, ... В двоичной эти же числа будут идти так: 0, 1, 10, 11, 100, 101, 110, 111, ... Думаю, Вы поняли. Так вот, компьютеру для той же операции сложения нужно сначала перевести число из десятичной системы в двоичную, затем решить пример в своей "родной" системе, а затем опять перевести ответ в нашу десятичную. Кажется, что это долго, но, на самом деле, это занимает какие-то наносекунды, ведь производительность современных ЭВМ - это миллиарды операций в секунду.

Сложение в двоичной системе
Сложение в двоичной системе

Хотите научится переводить числа из десятичной системы в двоичную и назад? Это очень увлекательное занятие! Я помню, как сам, лет в 12 или 13, когда узнал о двоичной системе, несколько дней только и занимался, что переводил числа из десятичной системы в двоичную и обратно :) Сейчас расскажу, как это делается. Для перевода из одной системы в другую используется тот факт, что любое натуральное число можно представить в виде суммы степеней двоек. Например: 325=2^8+2^6+2^2+2^0 (^ - это знак степени), действительно 325=256+64+4+1. Поскольку самая высокая степень в данном примере - это 8, то в двоичной системе число 325 будет девятизначным (степени от 0 до 8 - всего 9). Зная запись числа в виде суммы степеней двоек, в двоичной системе записывается число следующим образом: если двойка есть в степени n (в десятичном представлении), то в n-ом разряде двоичного вида числа ставится 1, если отсутствует, то ставится 0. С числом 325 это будет выглядеть так:

Перевод в двоичную систему числа 325
Перевод в двоичную систему числа 325

То есть 325 в десятичной системе равно 101000101 в двоичной. Перевод из двоичной системы в десятичную производится в обратном порядке. Например, нужно перевести число 110110001010 из двоичной системы в десятичную. Как видим число состоит из 12 разрядов, значит, высшая степень двойки - это 11. Записываем: 2^11+2^10+2^8+2^7+2^3+2^1=2048+1024+256+128+8+2=3466 - так выглядит это число в десятичной системе.

Надеюсь, Вам было интересно! Теперь Вы знаете, как выглядит арифметика машины.

В следующей статье Вас снова ждёт классная задачка!

Спасибо, что прочитали! Буду благодарен за комментарии, лайки, подписки.

Предыдущая статья

Следующая статья