Компьютеры изобрели достаточно давно. В те времена
электроникой даже и не пахло. Первые компьютеры были ламповыми и занимали
очень много места. Для того чтобы управлять такой махиной нужно было очень
много обслуживающего персонала.
Уже тогда был заложен принцип работы компьютера,
который действует до сих пор. А именно, данные передаются с помощью какого-то
сигнала (для нас не имеет значения какого, потому что мы не электронщики)
методом «есть сигнал или нет» или по-другому «включён или выключен». Так
появился «бит» bit. Бит это единица информации, которая может принимать
значение или 0, или 1, т.е. «включён или выключен». Восемь бит объединяются
в байт, т.е. один байт равен 8 битам. Почему именно 8? Да потому что первые
компьютеры были восьми разрядными и могли работать одновременно только
с 8-ю битами, например, 010000111.
Немного позже мы узнаем, что в один байт можно
записать любое число до 255. Но это очень мало, поэтому чаще используют
более крупные градации:
1. Два байта = слово.
2. Два слова = двойное слово.
Итак, компьютер стал работать в двоичной системе
исчисления. Но как же тогда записать число 135, если у нас единица информации
может быть только или 0 или 1. Просто в двоичной системе. Давайте разберёмся,
как это работает.
Для начала вспомним, как работает наша десятичная
система исчисления, к которой мы привыкли. Для этого рассмотрим число
519578246. Было специально выбрано такое число, чтобы оно состояло из
восьми разрядом. Теперь запишем его:
Номер разряда
8
7
6
5
4
3
2
1
0
Цифра
5
1
9
5
7
8
2
4
6
Как видите, я пронумеровал разряды, начиная
с нуля до восьми, и справа налево. Теперь представьте себе, что это не
целое число, а просто набор разрядов. 5, 1, 9, 5, 7, 8, 2, 4 и 6. Как
из этих разрядов получить целое число? Наверно некоторые скажут, что надо
просто записать их подряд. А если спросить, почему? Вот тут появляется
математика. Нужно каждый разряд умножить на 10 (степень исчисления) возведённую
в степень номера разряда.
Давай посчитаем по этой формуле, начиная с нулевого
разряда. Получается, что 6 нужно умножить на 10 в нулевой степени 6*100=6.
Потом прибавить 4*10 в 1 степени 4*101= 40 (итого уже 46). Потом 2*10
во второй степени 2*102=200 (итого 246). Потом 8*10 в 3 степени 8*103=
8000 (итого 8246) и так далее. В итоге получится число 519578246.
А теперь рассмотрим двоичную систему. Здесь каждый
разряд может быть или 0 или 1 (2 состояния). Кстати, в десятичной системе
у нас каждый разряд мог быть от 0 до 9, то есть десять состояний. Давайте
рассмотрим следующий байт - 010000111. Запишите его на листке бумаги так,
как показано ниже.
Номер разряда
8
7
6
5
4
3
2
1
0
Цифра
0
1
0
0
0
0
1
1
1
Вот так, оказывается, выглядит в двоичной системе
число 135. Давайте теперь научимся пересчитывать числа из десятичной системы
в двоичную систему. Для этого нужно число 135 разделить на 2. Получается
67 и остаток 1 (запомним 1). Теперь 67 делим на 2, получается 33 и остаток
1 (теперь две единицы, т.е. 11). Теперь 33 делим на 2, получаем 16 и остаток
1 (теперь три единицы, 111). Теперь 16 делим на 2, получаем 8 и остаток
0 (всего 0111). Теперь 8/2=4 и остаток 0 (00111). 4/2=2 и остаток 0 (000111).
Теперь 2/2=1 и остаток 0 (итого 0000111). 1 на два не делится, значит,
просто дописываем её 10000111. Получилось первоначальное число.
Вот так происходит преобразование чисел. В двоичную
систему исчисления. Таким же образом можно перевести число в любую систему
(двоичная, восьмеричная, шестнадцатеричная и т.д). Для более полного закрепления
материала приведена таблица, в которой показаны соответствия десятичных
чисел двоичным. Попробуйте сами перевести пару чисел туда и обратно.
Десятичное.
Двоичное.
0
0
1
1
2
10
3
11
4
100
5
101
6
110
7
111
8
1000
9
1001
10
1010
Таблица 1. Таблица соответствия десятичных и двоичных чисел.
В компьютере принято вести расчёт в двоичной
или шестнадцатеричной системе. Вторая вошла в обиход, когда компьютеры
стали 16-и разрядными.
Шестнадцатеричная система выглядит немного по-другому.
Каждый разряд уже содержит не 2 состояния (как в двоичной) или десять
(как в десятичной), а шестнадцать. Поэтому один разряд может принимать
значения от 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Буква «A» соответствует
10, «В» соответствует 11 и т. д. Например, число 1A в шестнадцатеричной,
равно 26 в десятичной. Почему? Да по всё то же формуле. Только здесь нужно
возводить 16 в степень номера разряда. «A» - это десять, нужно умножить
на 160 = 10. 1 – первый разряд нужно умножить на 161 =16. 10+16=26.
Десятичное.
Двоичное.
Шестнадцатиричное.
0
0
0
1
1
1
2
10
2
3
11
3
4
100
4
5
101
5
6
110
6
7
111
7
8
1000
8
9
1001
9
10
1010
A
11
1011
B
12
1100
C
13
1101
D
14
1110
E
15
1111
F
16
10000
10
17
10001
11
18
10010
12
19
10011
13
20
10100
14
Таблица 1. Таблица соответствия десятичных, двоичных и шестнадцатиричных
чисел.
Но это всё целые числа. С числами с плавающей
точкой совершенно другая история. Если заранее предусмотрено, что число
может быть отрицательным, то его длина, сокращается ровно на один бит.
Если неотрицательное целое число может быть 8-ми битным, то число со знаком
будет 7-и битным. Первый бит будет означать знак. Если первый бит равен
1, то число отрицательное, иначе положительное.
В дробных числах один байт может быть отведён
для целой части и один для дробной. Никогда не смешивают целую и дробную
часть в одно целое. За счёт этого, дробные числа всегда будут занимать
больше памяти, и операции с ними проходят намного дольше.
На первый взгляд перевод чисел очень сложный,
но вручную им пользоваться не обязательно. Человек уже давно придумал
для себя хорошего помощника - калькулятор. С его помощью без проблем можно
перевести число в любую систему.
Запустите встроенный в Windows калькулятор (Пуск
-> Программы -> Стандартные -> Калькулятор).Теперь выберите из меню «Вид»
пункт «Инженерный». Для перевода числа в другую систему, просто наберите
его и потом выберите нужную систему исчисления.