Системы счисления
Кодирование информации - представление информации в той или иной стандартной форме.
Например, письменность и арифметика - кодирование речи и числовой информации, музыку кодируют с помощью нот.
Чтобы использовать числа их нужно как-то записывать и называть.
Самые первые системы нумерации возникли в древнем Египте и Месопотамии - применяли иероглифы.
Системы счисления - способы кодирования числовой информации, то есть способ записи чисел с помощью некоторого алфавита, символы которого называют цифрами.
В древнем Вавилоне делили час на 60 минут, угол на 360 градусов, англосаксы начали делить год на 12 месяцев, сутки на два периода по 12 часов, продолжительность года 360 суток.
В Риме семь чисел обозначают буквами. 1-I, 5-V, 10-X, 50- L,100-C, 500-D, 1000-M.
IV (4=5-1)
VI (6=5+1)
Значение числа определяется как сумма или разность цифр числа. Это непозиционная система счисления.
Славяне числа кодировали буквами А=1, В=2, Г=3; чтобы избежать путаницы ставился специальный знак ~ титло. Алфавитная система счисления. Славянская нумерация сохранялась до конца XVII века.
При Петре I возобладала так называемая арабская нумерация. Славянская нумерация сохранилась в богослужебных книгах.
Самой популярной системой кодирования чисел оказалась позиционная, десятичная. Используются десять цифр. Значение каждой определяется той позицией, которую цифра занимает в записи числа.
Эта система пришла из Индии, где она появилась не позднее VI века, европейцы заимствовали ее у арабов, назвав ее арабской. Из арабского языка заимствовано слово "цифра". Причина ее возникновения анатомическая - 10 пальцев. Анатомическая система счисления (существовали пятеричные, двадцатеричные системы счисления).
Например, 23 - три единицы, два десятка 32 - две единицы, три десятка 400 - 4 сотни, два 0 вклад в число не дают, нужны для того, чтобы указывать позицию 4.
В десятичной позиционной системе особую роль играет число 10 и его степени, например, 1996 - 6 единиц, 9 десятков, 9 сотен 1 тысяча или 1996=6+9*10+9*100+1*1000, т.к.1000=103, 100=102, 10=101, таким образом, 1996=1*103 + 9*102 + 9*101 +6*100.
Любое число в нулевой степени равно единице 0,10 = 1
То есть любое 4-х значное число можно записать в следующем виде:
N=a3*103+a2*102+a1*101+a0*100
a3, a2, a1, a0-десятичные цифры, от 1 до 9 или коэффициенты 3 2 1 0 - разряды, степени числа 10 со степенями называют основанием системы счисления.
Но основанием системы может быть не обязательно число 10, мы можем записать число в р-ичной системе, где основанием будут степени числа р. Любое число N в р-ичной системе мы можем представить в виде формулы:
N=an*Pn+an-1*Pn-1+...+a1*P1+a0*P0
Если взять за основание 60, то придется использовать 60 разных цифр. Такая система была в Древнем Вавилоне. Если основанием возьмем 2, получим систему всего с двумя цифрами 0 и 1. К сожалению, в этой системе даже небольшие числа записываются слишком длинно, так 1995 в двоичной системе записывается 199510=111110010112
Система счисления, где 2 является основанием системы называется двоичной системой счисления, относится к машинной системе счисления, к машинным системам счисления относятся и восьмеричная и шестнадцатеричная. Таким образом существуют следующие системы счисления: вавилонская, римская, алфавитные, анатомические, машинные.
Системы счисления делятся также на позиционные и непозиционные.
Перевод из двоичной системы счисления в десятичную.
Как узнать чему равно девятизначное двоичное число N=1111101002
Подпишем сверху каждый разряд
87654321010 - 1 разряды (степени двойки)
1111101002
В двоичной системе особую роль играет двойка и ее степени.
Таким образом:
111110100=1*28 +1*27 +1*26 +1*25 +1*24 +0*23 +1*22 +0*21 +0*20 =1*256+1*128+1*64 +1*32 +1*16 +0*8 +1*4 +0*2 +0*1=256 + 128 + 64 + 32 + 16 + 0 + 4 + 0 +0 =500
Перевод из десятичной системы счисления в двоичную.
Пусть нужно перевести в двоичную систему число 234. Будем делить 234 последовательно на 2 и запоминать остатки, не забывая про нулевые.
Выписав все остатки, начиная с последнего 3 в обратном порядке, получим двоичное разложение числа.
23410 = 111010102
Восьмеричная и шестнадцатеричная системы счисления.
Запись числа в двоичной системе удобна для компьютера, но громоздка для человека. На помощь приходят системы, родственные двоичной восьмеричная система счисления использует 8 цифр: 0,1,2,3,4,5,6,7.
Единица, записанная в самом младшем разряде означает просто единицу (1*8 в нулевой степени), та же единица в следующем разряде обозначает 8 (1*8 в первой степени), в следующем 64 (1*8 во второй степени) и так далее.
2 1 0 1 - разряды (степени восьмерки)
1008 = 1*82 + 0*81 + 0*80 = 1*64 + 0 + 0 = 6410
8 - это 2 в третьей степени. При переводе в восьмеричную систему двоичное число из трех цифр записывается одной цифрой.
Восьмеричная запись
|
Двоичное представление
|
впереди стоящий 0 ничего не значит
|
0
|
000
|
|
1
|
001
|
|
2
|
010
|
|
3
|
011
|
|
4
|
100
|
|
5
|
101
|
|
6
|
110
|
|
7
|
111
|
Для перевода из двоичной в восьмеричную число, записанное в двоичной системе делим на триады справа налево
Например, 11011100011=11 011 100 011 и заменить каждую группу одной восьмеричной цифрой 2 2 4 2 и получим 22428
Для перевода числа из восьмеричной системы в двоичную достаточно заменить каждую цифру на ее перевод в двоичную систему, представив каждую цифру в виде триады (1 в двоичной системе 1 добавляем до триады впереди 00)
6
|
1
|
1
|
110
|
001
|
001
|
Еще компактней выглядит запись двоичного числа в шестнадцатеричной системе счисления.
Для первых 10 из 16 шестнадцатеричных цифр используются привычные цифры 0 1 2 3 4 5 6 7 8 9, а для остальных используют первые буквы латинского алфавита
A-10 D-13
B-11 E-14
C-12 F-15
Цифра 1 в самом младшем разряде означает 1, в следующем разряде означает 16 (в первой степени), в следующем разряде 16*16 (162)=256, в следующем разряде 1*163 и так далее.
10016 =25610
Цифра F, записанная в самом младшем разряде означает 15 в десятичной системе, F в следующем разряде означает 15*16 в первой степени в десятичной системе и т.д.
2 1 0 - 1 разряды (степени числа 16)
Число 21016=10*162+15*161+0*160
21016=10*256+240+0*1=2560+240+0=280010
2 1 0
BAD16=11*162+1 0*161+13*1 60 = 11 * 256+10 *16+13*1=2816+160+13=298910
16 - это 2 в четвертой степени. При переводе из двоичной системы в шестнадцатеричную число двоичное число из 4-х цифр кодируется числом из одной цифры в шестнадцатеричной системе.
Для перевода числа из шестнадцатеричной системы в двоичную достаточно заменить каждую цифру на ее перевод в двоичную, представив каждую цифру в виде сочетания четырех 1 и 0
A
|
O
|
F
|
AOF16 |
1010
|
0000
|
1111
|
Как осуществить перевод чисел из двоичной системы в шестнадцатеричную? Необходимо разбить число, записанное в двоичной системе на группы по 4 разряда справа налево, заменив каждую группу одной шестнадцатеричной цифрой.
1101
|
1010
|
1101
|
в двоичной
|
11
|
10
|
13
|
в десятичной
|
B
|
A
|
D
|
в шестнадцатеричной
|
10
|
2
|
8
|
16
|
0 | 000 | 0 | 0 |
1 | 001 | 1 | 1 |
2 | 010 | 2 | 2 |
3 | 011 | 3 | 3 |
4 | 100 | 4 | 4 |
5 | 101 | 5 | 5 |
6 | 110 | 6 | 6 |
7 | 111 | 7 | 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 |