Системы счисления

Кодирование информации - представление информации в той или иной стандартной форме.

Например, письменность и арифметика - кодирование речи и числовой информации, музыку кодируют с помощью нот.

Чтобы использовать числа их нужно как-то записывать и называть.

Самые первые системы нумерации возникли в древнем Египте и Месопотамии - применяли иероглифы.

Системы счисления - способы кодирования числовой информации, то есть способ записи чисел с помощью некоторого алфавита, символы которого называют цифрами.

В древнем Вавилоне делили час на 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