© М.Е. Крекин, 1999, 2002
Глава 2 Системы счисления
§2.2
Вы, вероятно, обратили уже внимание, что чем меньше основание системы счисления, тем больше разрядов требуется для записи того же числа. Наиболее громоздкой получается запись в системе с наименьшим возможным основанием -- двоичной. Однако, как вы знаете, по техническим причинам именно двоичное кодирование является "родным языком" компьютеров. И при работе с ними иногда приходится пользоваться этим языком. Но то, что удобно для компьютера, оказывается очень неудобным для человека. Запоминать, да и просто безошибочно записывать числа, вроде "1101011001010110", весьма сложно.
Можно было бы переводить их в десятеричную систему и обратно... Однако, этот перевод довольно трудоемкий. И вот какой нашли выход. Если взять две системы счисления, такие что основание одной будет степенью основания другой (их иногда называют родственными), перевод будет делаться очень быстро, практически, "в уме". В вычислительной технике используют восьмеричную и (чаще всего) шестнадцатеричную системы счисления: 8 = 23; 16 = 24.
Каждому разряду восьмеричной системы счисления соответствуют три разряда двоичной, каждому разряду шестнадцатеричной -- четыре двоичной.Поскольку это соответствие -- однозначное, достаточно помнить (или иметь перед собой) маленькую табличку.
0000 | 0 | 0100 | 4 | 1000 | 8 | 1100 | C
| 0001 | 1 | 0101 | 5 | 1001 | 9 | 1101 | D
| 0010 | 2 | 0110 | 6 | 1010 | A | 1110 | E
| 0011 | 3 | 0111 | 7 | 1011 | B | 1111 | F
|
Так как для шестнадцатеричной записи мало обычных десяти цифр, в ней используют еще шесть первых букв латинского алфавита (A -- 10; B -- 11; C -- 12; D -- 13; E -- 14; F -- 15).
|
Надо сказать, что компьютерное представление числа -- не совсем совпадает с его двоичной записью на бумаге. И для этого есть свои причины. Во-первых, в двоичной системе для представления чисел используются не два символа, а четыре: "минус" для обозначения отрицательных чисел и "запятая" (или "точка") для отделения дробной части от целой. Во-вторых, для представления чисел в компьютере отводится строго определенное количество байт, следовательно диапазон и точность представления оказываются ограниченными. Слишком большое число приведет к так называемой ошибке переполнения (потеряются старшие разряды), слишком маленькое будет воспринято как ноль. Но даже если дробное число и поместится в разрядную сетку (т.е. в отведенное количество бит), вполне может быть потеряна точность. Тому, кто решит серьезно заниматься программированием, предстоит разобраться с упомянутыми вопросами подробно, а мы на этом закончим и перейдем к изучению способов представления нечисловой информации.
Контрольные вопросы
- Почему при работе с компьютерами пользуются восьмеричной и шестнадцатеричной системами счисления?
- Переведите число 40328 последовательно в шестнадцатеричную, затем двоичную и наконец -- восьмеричную систему счисления.
- Переведите число 33527 в восьмеричную, затем -- двоичную и шестнадцатеричную систему счисления.
|