§ 25. Кодирование числовых данных
Site: | Профильное обучение |
Course: | Информатика. 10 класс (Повышенный уровень) |
Book: | § 25. Кодирование числовых данных |
Printed by: | Guest user |
Date: | Saturday, 2 November 2024, 6:28 AM |
25.1. Перевод дробных и смешанных чисел
Рассмотрим перевод правильной десятичной дроби в любую другую позиционную систему счисления. Для перевода десятичной дроби F в систему счисления с основанием q ( F10 → Fq) необходимо F умножить на q, затем дробную часть произведения снова умножить на q и т. д., до тех пор, пока дробная часть произведения не станет равной нулю, либо пока не будет достигнута требуемая точность представления F в системе счисления q (определенное количество цифр в записи результата). Схема перевода десятичной дроби в двоичную систему счисления выглядит следующим образом: При повторении значений дробной части (правый столбец таблицы), повторяющуюся группу цифр в записи целых частей (левый столбец таблицы), нужно записать как период дроби. В примере 25.1 выполнены переводы ( F10 → Fq) десятичных дробей в позиционную систему счисления с основанием q ( F10 → Fq). Для смешанных чисел перевод выполняется отдельно для целой и дробной части (пример 25.2). В ситуации перевода дробей Zp → Zq, когда основания систем счисления (p и q) являются степенями двойки, двоичную систему счисления удобно использовать для перевода как промежуточную по схеме Zp → Z2 → Zq. В этом случае разделение цифр в записи числа на группы начинается с нулевого разряда и выполняется так же, как и при переводе целых чисел (пример 25.3). При этом разряды в записи чисел нумеруются с 0, и цифра в нулевом разряде соответствует единицам. Нумерация разрядов возрастает влево от нулевого разряда и убывает вправо, т. е. в дробной части числа нумерация разрядов отрицательная. Алгоритм перевода дробных и смешанных чисел из системы счисления с основанием p в систему счисления с основанием 10 (Zp → Z10 ), так же как для целых чисел, вытекает из способа представления числа в системе счисления с основанием (пример 25.4). |
Пример 25.1. Перевод правильной десятичной дроби в другие системы счисления. 1) 2) 3) 4) 0,91610 ≈ 0,223 (с предельной абсолютной погрешностью 3–4). Пример 25.2. Перевод смешанного числа из десятичной системы счисления в систему счисления с другим основанием. 41,62510 → х16 4110 = 2916 41,62510 = 29,А16 Пример 25.3. Перевод Z8 → Z2 → Z16. 362,538 = 011¢110¢010,101¢011 = 0¢1111¢0010,1010¢1100 = F2,AB16 Пример 25.4. Перевод смешанного числа из системы счисления с основанием p в систему счисления с основанием 10. Для перевода необходимо:
Переведем в десятичную систему счисления шестнадцатеричное число 29,А16:
|
25.2. Выполнение арифметических действий в различных позиционных системах счисления
Правила выполнения арифметических действий (сложения, вычитания, умножения и деления) в десятичной системе счисления хорошо известны. Эти же правила применимы к выполнению арифметических действий и в других позиционных системах счисления. В примере 25.5 рассмотрены правила выполнения поразрядных арифметических действий в двоичной системе счисления. Рассмотрим алгоритмы выполнения каждого из арифметических действий в позиционных системах счисления с произвольным основанием . Сложение Чтобы в системе счисления с основанием получить сумму S двух чисел A и B, нужно просуммировать образующие их цифры по разрядам от младшего разряда к старшему по следующим правилам:
Пример 25.6. Сложить числа 11112 и 1012.
В примере 25.7 выполнено сложение двоичных смешанных чисел. Пример 25.8. Сложить числа 63548 и 7438.
Пример 25.9. Сложить числа 5B416 и C5216.
Вычитание Чтобы в системе счисления с основанием получить разность R двух чисел A и B ( A > B), нужно вычислять разности образующих их цифр по разрядам i от младшего к старшему по следующему правилу:
Пример 25.10. Найти разность чисел 10002 и 112.
Пример 25.11. Найти разность чисел 74508 и 7368.
В примере 25.12 рассмотрено вычитание чисел в шестнадцатеричной системе счисления, которое выполняется по аналогичному алгоритму. Умножение Чтобы в системе счисления с основанием p получить произведение М числа A и числа B < p, надо вычислить произведение цифр числа А по разрядам от младшего к старшему и числа В в соответствии с правилами:
Пример 25.13. Найти произведение чисел 12123 и 23.
В примерах 25.14 и 25.15 по аналогичному алгоритму выполнено умножение многозначного числа на однозначное число в других системах счисления. Умножение многозначного числа на многозначное число выполняется столбиком. При этом два множителя располагаются один под другим так, чтобы разряды чисел совпадали (находились в одном столбце). В примерах 25.16 и 25.17 выполнено умножение многозначного числа на многозначное число. *Деление Операцию деления нельзя свести к поразрядным операциям над цифрами, составляющими число. Деление чисел в системе счисления с произвольным основанием выполняется так же, как и в десятичной системе счисления. А это значит, что при выполнении деления применяются правила умножения и вычитания чисел в системе счисления с основанием p. В отличие от других арифметических действий деление выполняется начиная со старшего разряда делимого. Пример 25.18. Найти частное чисел 1010102 и 1112.
Пример 25.19. Найти частное чисел 133518 и 1638.
Пример 25.20. Найти частное чисел 8D2F6C16 и DF16.
|
В компьютерных устройствах выполнение любого действия основано на использовании простейших микроопераций – сложение и сдвиг (операция вычитания сводится к операции сложения). Это позволяет иметь единое арифметико-логическое устройство для выполнения операций, связанных с обработкой данных. Пример 25.5. Правила двоичной арифметики. 1. Сложение.
2. Вычитание.
3. Умножение. Пример 25.6. Сложение целых чисел в двоичной системе счисления. 11112 + 1012 = x2 Ответ: 101002 Пример 25.7. Сложение смешанных чисел в двоичной системе счисления. 101,10012 + 1,11112 = x2 Ответ: 111,12 Пример 25.8. Сложение чисел в восьмеричной системе счисления. 63548 + 7438 = x8 Ответ: 73178 Пример 25.9. Сложение чисел в шестнадцатеричной системе счисления. 5B416 + C5216 = x16 Ответ: 120616 Пример 25.10. Вычитание чисел в двоичной системе счисления. 10002 – 112 = x2 Ответ: 1012 Пример 25.11. Вычитание чисел в восьмеричной системе счисления. 74508 – 7368 = x8 Ответ: 65128 Пример 25.12. Вычитание чисел в шестнадцатеричной системе счисления. 21B116 – AFE16 = x16 Ответ: 16B316 Пример 25.13. Умножение многозначного числа на однозначное число в троичной системе счисления. 12123 . 23 = x3 Ответ: 102013 (Пример 25.14. Умножение многозначного числа на однозначное число в восьмеричной системе счисления. 40328 . 78 = x8 Ответ: 342668 Пример 25.15. Умножение многозначного числа на однозначное число в шестнадцатеричной системе счисления. 623216 . A16 = x16 Ответ: 3D60816 Пример 25.16. Умножение чисел в двоичной системе счисления. 101012 . 1012 = x2 Ответ: 11010012 Пример 25.17. Умножение чисел в пятнадцатеричной системе счисления. 6AE15 . 3B15 = x15
Ответ: 1A1C415 Пример 25.18. Деление чисел в двоичной системе счисления. 1010102 : 1112 = x2
Ответ: 1102 Пример 25.19. Деление чисел в восьмеричной системе счисления. 133518 : 1638 = x8
Ответ: 638 Пример 25.20. Деление чисел в шестнадцатеричной системе счисления. 8D2F6C16 : DF16 = x16
Ответ: A21416 |
Вопросы к параграфу
1. Как перевести правильную десятичную дробь в другую систему счисления? 2. Как перевести смешанное число из десятичной системы счисления в любую другую систему счисления? 3. Какой алгоритм используется при переводе смешанного числа из системы счисления с любым основанием в десятичную систему счисления? 4. Каковы правила двоичной арифметики? 5. Как выполняется операция сложения чисел в любой позиционной системе счисления? 6. Как выполняется операция вычитания чисел в любой позиционной системе счисления? 7. Как выполняется операция умножения чисел в любой позиционной системе счисления? 8. Правила выполнения каких арифметических действий используются при выполнении деления в любой позиционной системе счисления? |
Упражнения
1. Переведите числа в десятичную систему счисления:
- 11001,012; 1001101,112
- 120,213; 203,3214
- 456,148; 615,718
- BD5,8C16; ABC,4E16
2. Укажите количество единиц в двоичной записи чисел:
12,25; 22,75; 47,3125.
3. Переведите числа из десятичной системы счисления в указанную.
- 32,25; 418,75 → Z8.
- 159,5; 175,09375 → Z16.
- 45,75; 21,625 → Z4.
- 13,68; 37, 448 → Z5.
Двоичная с/с |
Восьмеричная с/с |
Десятичная с/с |
Шестнадцатеричная с/с |
11011,101 |
|
|
|
|
155,3 |
|
|
|
|
77,375 |
|
|
|
|
6F,A |
5. Переведите десятичные дроби в указанную систему счисления с указанием периода:
- 0,1; 0,75 → Z2.
- 0,5; 0,09375 → Z8.
- 0,9; 0,625 → Z16.
- 0,68; 0, 448 → Z3.
6. Переведите дробь 0,36 → Z2 → Z8→ Z16, оставив в результате указанное количество цифр:
Система счисления |
|||
Количество цифр после запятой. |
2-7 |
8-4 |
16-3 |
7. Вычислите.
- 110012 + 1012
- 11110,112 + 10011,012
- 100112 - 1012
- 11011,1012 – 1111,112
- 7708 + 2368
- B0916 + 7FA16
- 10346,78 + 56,48
- A,B16 + E,F16
- 7508 – 2368
- B0916 – 7FA16
- 403,58 – 64,78
- D,116 – B,9216
8. Вычислите значение суммы, результат запишите в виде десятичного числа.
- 10112 + 178 + 1E16.
- 10102 + 238 + E916.
9. Вычислите значение разности, результат запишите в виде восьмеричного числа.
- A716 – 110102.
- 101112 – 3D16.
10. Вычислите значение выражений, результат запишите в виде шестнадцатеричного числа.
- 2068 + AF16 – 1012.
- 10112 + 218. 1216.
- A16. (101102 – 148).
- 2568 + 10110,12. (608 + 1210) – 1F16.
11. Вычислите.
- 11012 . 112
- 1101000011012 : 1012
- 5738 . 458
- 102168 : 328
- B0916 . DA16
- 1425016 : 3916
- 16438 : 168
- B933,116 : A1D16