Прежде, чем приступить к описанию типов данных, аппаратно поддерживаемых компьютером, вспомним о двоичном представлении информации в памяти компьютера. Согласно этому принципу любая информация (коды команд и данные) хранится в памяти компьютера в двоичном виде. Записывать эту информацию удобно с помощью двух символов 0 и 1. Следует заметить, что внутри компьютера никаких нулей и единиц нет, а есть сигналы разных видов, которые при отображении их, например, на экране дисплея удобно кодировать 0 или 1. Далее, информация может быть числовой (целые числа, вещественные числа и др.) и нечисловой (коды команд, коды символов и др.). Для понимания работы компьютера с числовой информацией важно умение работать с различными системами счисления.
Совокупность правил записи чисел и действий над ними называется системой счисления. В каждой системе счисления используется определенный набор символов - цифр, сочетание которых образует запись числа. Наиболее ранние системы счисления были непозиционными, в которых символы обозначающие цифры не меняли своего значения в зависимости от своего положения в записи числа. Наиболее известная непозиционная система счисления – римская. В качестве цифр в ней используются буквы латинского алфавита:
Цифра |
Значение |
I |
1 |
V |
5 |
X |
10 |
L |
50 |
C |
100 |
D |
500 |
M |
1000 |
Для получения значения числа, записанного в римской системе счисления, нужно суммировать значения цифр, входящих в его запись, рассматриваемую справа налево, в порядке увеличения старшинства и вычитать значения младших цифр, предшествующих старшим. Например, MMI = 2001, MDCDLXLIX = 1000+500-100+500+50-10+50-1+10 = 1999.
В позиционных системах счисления значение цифры зависит от её положения в записи числа - разряда. Количество цифр, используемых для записи числа, называется основанием системы счисления. Самая правая цифра в записи числа называется младшим разрядом, самая левая – старшим разрядом. Используется, как сокращенная, так и полная форма записи чисел. При этом:
(anan-1…a1a0.a-1 a -2…)b =
= an*bn + an-1*bn-1 + … + a1*b + a0 + a-1*b-1 + a-2*b-2 + …, где 0£ak<b для всех k Î [n,-¥)
Наряду с привычной нам десятичной системой счисления, при изучении и работе с компьютерами, часто используются двоичная и шестидесятеричная системы счисления. Существенно реже используется восьмеричная система счисления.
В таблице приведены семнадцать целых чисел от 0 до 16, записанные в четырех системах счисления.
Десятичное число |
Двоичное число |
Восьмеричное число |
Шестнадцатеричное число |
0 |
0000 |
00 |
0 |
1 |
0001 |
01 |
1 |
2 |
0010 |
02 |
2 |
3 |
0011 |
03 |
3 |
4 |
0100 |
04 |
4 |
5 |
0101 |
05 |
5 |
6 |
0110 |
06 |
6 |
7 |
0111 |
07 |
7 |
8 |
1000 |
10 |
8 |
9 |
1001 |
11 |
9 |
10 |
1010 |
12 |
A |
11 |
1011 |
13 |
B |
12 |
1100 |
14 |
C |
13 |
1101 |
15 |
D |
14 |
1110 |
16 |
E |
15 |
1111 |
17 |
F |
16 |
10000 |
20 |
10 |
Перевод чисел из одной системы счисления в другую
Перевод числа в десятичную систему счисления проводится на основании прямого вычисления его значения. Нужно взять полную форму записи числа в соответствующей системе счисления. Далее, необходимо заменить цифры и основание системы счисления на их представление в десятичной системе счисления и произвести необходимые действия по правилам десятичной системы счисления.
Пример. ABCD16 = A*(H)3 + B*(H)2 + C*(H)1 + D*(H)0 =
= 10*(16)3 + 12*(16)2 + 13*(16)1 +14*(16)0 = 4398110.
здесь H – основание шестнадцатеричной системы счисления.
Для поиска вида записи целого десятичного числа в другой системе счисления необходимо определить количество единиц (остаток от деления числа на основание новой системы) и десятков (частное того же деления) в записи предложенного числа в новой системе счисления. Если полученное количество десятков превышает величину основания новой системы счисления, то указанную операцию деления следует повторить для поиска числа десятков (остаток от деления найденного количества десятков на основание новой системы) и сотен (частное от того же деления) в искомой записи числа. Операция повторяется до тех пор, пока очередное частное не станет меньше значения основания новой системы счисления. Данное частное будет давать цифру старшего разряда в записи числа в указанной системе счисления.
Пример. 200610 = 125*16 + 6 = (7*16 + 13)*16 +6 =
= 7*(H)2 + D*(H)1 + 6*(H)0 = 7D616 .
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.