Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Системы счисления.docx
Скачиваний:
2
Добавлен:
07.08.2019
Размер:
72.78 Кб
Скачать

4.Десятичная система счисления.

Десятичная система счисления — это позиционная система счисления с основанием 10. Для записи чисел в десятичной системе используется 10 цифр от 0 до 9 (0,1,2,3,4,5,6,7,8,9) — эти цифры называются арабскими.

Десятичная система является одной из наиболее распространенных.

История: считается, что основание десять изначально связано с количеством пальцев на руках. Первая запись позиционной десятичной системы обнаружена в Индии в 595 г. В ней для записи числа использовались символы, рядом с которыми добавляли обозначение разряда. Затем разряды отмечать перестали, но у каждой цифры осталась определенная позиция. Соответственно, пустая позиция отмечалась нулем.

Индийская нумерация распространилась в арабские страны. На нее обратил внимание знаменитый математик Аль-Хорезми, основатель алгебры. Она написал первое руководство по арифметике, основанной на позиционном десятичном счислении. Так как его работа была написана на арабском, то в Европе закрепилось название «арабские цифры».

В работах Аль-Хорезми были изложены правила (алгоритмы) сложения и умножения десятичных чисел. От европейской транслитерации имени ученого — «Algoritmi» появился термин «алгоритм», впоследствии обозначающий всякий регулярный процесс, за конечное число шагов дающий решение.

Применение: десятичная система счисления испольуется при повседневном счете.

Ниже приведены правила и примеры перевода из двоичной, восьмеричной и шестнадцатеричной систем счисления в десятичную.

Перстни с сапфирами, золотые крестики, браслеты из золота, подвески с бриллиантами.

Арифметические операции.

Сложение:

37726

+45875

------

83601

37726

+45875

------

83601

806412

+ 2043

------

808455

454545

+ 500

------

455045

56789

+ 1000

-----

57789

Вычитание:

480710

-479841

-------

869

600000

-599875

------

125

101344

- 58905

------

42439

530002

-511886

------

18116

10000000

- 1969100

--------

8030900

Умножение:

756

* 98

-----

6048

6804

-----

74088

207

* 708

-----

1656

1449

-------

146556

3090

* 95

----

1545

2781

------

293550

2030

* 970

-----

1421

1827

------

1969100

78

* 87

----

546

524

----

6786

Деление:

7752 |38

- |----

76 |204

-----

152

-

152

------

0

13075 |523

- |----

1046 |

------

2615

-

2615

------

0

234264 |908

- |----

1816 |258

------

5266

-

4540

------

7264

-

7264

------

0

40242 |706

- |----

3530 |57

-----

4942

-

4942

-----

0

807750 |8975

- |----

80775 |90

------

0

5.Шестнадцатеричная система счисления.

Шестнадцатеричная система счисления — это позиционная система счисления с основанием 16. Для записи чисел в шестнадцатеричной системе используется 10 цифр от нуля до девяти (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) и латинские буквы A, B, C, D, E, F, обозначающие числа от 10 до 15.

Таким образом, все символы шестнадцатеричной системы:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

История: шестнадцатеричная система счисления внедрена американской корпорацией IBM. Широко используется в программировании для IBM-совместимых компьютеров. Минимальной адресуемой (пересылаемой между компонентами компьютера) единицей информации является байт, состоящий, как правило, из 8 бит (англ. bit — binary digit — двоичная цифра, цифра двоичной системы), а два байта, то есть 16 бит, составляют машинное слово (команду). Таким образом, для записи команд удобно использовать систему с основанием 16.

Применение: шестнадцатеричная система используется в цифровой электронике и компьютерной технике, в частности в низкоуровневом программировании на языке ассемблера для различных ЭВМ.

Перевод чисел

Перевод из шестнадцатеричной в десятичную

Для перевода числа 385 из десятичной в шестнадцатеричнудю систему разделим его нацело на 16 (16 — это основание шестнадцатеричной системы) и запишем остаток от деления:

385 / 16 = 24, в остатке 1, проверим: 16 * 24 + 1 = 384 + 1 = 385

При делении на шестнадцать остаток может быть любым числом от нуля до семи.

Полученное частное (24) снова разделим на 16 и запишем остаток, и так до тех пор, пока не получим 0.

Итак, запишем перевод в шестнадцатеричную систему полностью:

385 / 16 = 24 в остатке 1

24 / 16 = 1 в остатке 8

1 / 16 = 0 в остатке 1

Затем нужно записать полученные остатки, начиная снизу, и мы получим представление числа в двоичной системе:

38510 = 18116

Обратите внимание на последний шаг: 1 / 16 = 0 (в остатке 1), — при целочисленном делении меньшего числа на большее результатом всегда будет 0, а в остатке делимое, т.е. исходное число.

Правило перевода из десятичной системы счисления в шестнадцатеричную:

для перевода чисел из десятичной системы в шестнадцатеричную нужно разделить число на 16, где 16 — основание шестнадцатеричной системы, и записать остаток от деления. Полученное частное снова разделить на 16 и также записать остаток. Повторять действия, пока частное не станет равным 0. Записать все остатки в обратном порядке.

Пример 1. Переведем число 4132 в шестнадцатеричную систему счисления:

4132 / 16 = 258 в остатке 4

258 / 16 = 16 в остатке 2

16 / 16 = 1 в остатке 0

1 / 16 = 0 в остатке 1

413210 = 102416

Пример 2. Переведем число 1021 в шестнадцатеричную систему счисления:

1021 / 16 = 63 в остатке 13 (D)

63 / 16 = 3 в остатке 15 (F)

3 / 16 = 0 в остатке 3

102110 = 3FD16

В примере выше остатки от деления 13 и 15 заменены соответствующими буквами, согласно обозначениям шестнадцатеричной системы (10 — A, 11 — B, 12 — C, 13 — D, 14 — E, 15 — F)

Проверить полученные значения можно с помощью стандартного калькулятора в любой операционной системе (калькулятор в Windows в инженерном виде, в Linux gcalctool или kcalc). Системы счисления в калькуляторе обозначаются сокращенно: dec — десятичная, bin — двоичная, oct — восьмеричная, hex — шестнадцатеричная.

Перевод из шестнадцатеричной в десятичную

Необходимо представить число 5ВС16 в десятичном виде. Исходное шестнадцатеричное число изображается тремя знаками. Поэтому для перевода в десятичную систему счисления запишем справа налево первые 3 степени числа 16 (от 0 до 2 степени), каждое последующее число получается путем умножения предыдущего на 16:

162 161 160

256 16 1

Запишем под степенями наше шестнадцатеричное число (слева направо, как есть):

256 16 1

5 B (11) C (12)

Затем заменим буквенные обозначения цифровыми согласно знакам шестнадцатеричной системы и умножим каждое число на соответствующую ему степень шестнадцати, найдем сумму всех произведений:

5 * 256 + В * 16 + С * 1 = 5 * 256 + 11 * 16 + 12 * 1 = 1468,

это и есть результат перевода:

5BC16 = 146810

Итак, запишем правило перевода из шестнадцатеричной системы счисления в десятичную: для перевода чисел из шестнадцатеричной системы счисления в десятичную сосчитаем количество разрядов шестнадцатеричного числа N и запишем степени шестнадцати от нулевой до N - 1 справа налево (помним, что каждая последующая степень получается умножением предыдушей на 16). Запишем под ними шестнадцатеричное число в прямом порядке. Умножим записанные числа на соответствующие им степени. Найдем сумму всех произведений. Результатом будет десятичное число, представленное в виде суммы различных степеней числа 16, умноженных на соответствующие коэффициенты.

Пример 1. Перевести число 2116 в десятичную систему. Считаем число разрядов — 2, значит, нужно записать справа налево степени шестнадцати от нулевой до первой:

161 160

16 1

Запишем под степенями наше шестнадцатеричное число (слева направо, как есть):

16 1

2 1

Умножим числа на соответствующие степени шестнадцати и сложим их:

2 * 16 + 1 * 1 = 32 + 1 = 33, это и есть результат перевода:

2116 = 3310

Таким образом, шестнадцатеричное число 211 представлено в виде суммы ряда степеней числа 16 (основание шестнадцатеричной системы):

Пример 2. Перевести число 45116 в десятичную систему. Считаем число разрядов — 3, значит, нужно записать справа налево степени шестнадцати от нулевой до второй:

162 161 160

256 16 1

Запишем под степенями наше шестнадцатеричное число (слева направо, как есть):

256 16 1

4 5 1

Найдем сумму степеней шестнадцати, умноженных на соответствующие им коэффициенты:

4 * 256 + 5 * 16 + 1 * 1 = 1024 + 80 + 1 = 1105,

это и есть результат перевода:

45116 = 110510

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

Арифметические операции.

Сложение:

3B3,6

+ 38B,4

-----

73E,A

1A5

+ C35

----

DDA

1F4

+ 911

----

B05

A1C

+ 195

----

BB1

5B4

+ C52

----

1206

Вычитание:

27D,D8

- 191,2

------

EC,B8

A1C

- 195

----

887

0,A3

- 0,15

-----

0,8E

B19

- 7FA

-----

31F

C9,4

- 3B,C

----

8D,8

Умножение:

61,A

* 40,D

----

4F 52

1868

--------

18 ,B752

20A4

* B15

-------

A334

20A4

1670C

--------

169B974

F7CA

* B9

-----

8B61A

AA5AE

-------

B310FA

Деление:

4C98 |2B

- |-----

2B |1C8

-----

219

-

204

-----

158

-

158

-----

0

B2B8 |4C

- |-----

98 |25A

-----

1AB

-

17C

-----

2F8

-

2F8

-----

0

22CD8 |CE

- |----

19C |2B4

------

90D

-

8DA

------

338

-

338

------

0

6F78 |8

- |----

68 |DEF

-----

77

-

70

-----

78

-

78

-----

0