Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Domashnya_robota_var8.doc
Скачиваний:
0
Добавлен:
12.09.2019
Размер:
303.62 Кб
Скачать

Переклад чисел з десяткової системи числення в довільну

Перевести число з десяткової системи в систему з основою p - означає знайти коефіцієнти у формулі (2). Іноді це легко зробити простим підбором. Наприклад, нехай потрібно перевести число 23,5 у вісімкову систему. Неважко помітити, що 23,5 = 16 +7 +0,5 = 2.8 +7 +4 / 8 = 2.81 +7 · 80 +4 · 8-1 = 27,48. Зрозуміло, що не завжди відповідь настільки очевидний. У загальному випадку застосовується спосіб переказу окремо цілої і дробової частин числа.

Для перекладу цілих чисел застосовується наступний алгоритм (отриманий на підставі формули (1)):

1. Знайдемо приватне і залишок від ділення числа на p. Залишок буде черговий цифрою ai (j = 0,1,2 ...) запису числа в новій системі числення.

2. Якщо приватне дорівнює нулю, то переклад числа закінчений, інакше застосовуємо до приватного пункт 1.

Зауваження 1. Цифри ai в запису числа нумеруються справа наліво.

Зауваження 2. Якщо p> 10, то необхідно ввести позначення для цифр з числовими значеннями, більшими або рівними 10.

Приклад:

Перевести число 165 у семерична систему числення.

165:7 = 23 (залишок 4) => a0 = 4

23:7 = 3 (залишок 2) => a1 = 2

3:7 = 0 (залишок 3) => a2 = 3

Випишемо результат: a2a1a0, тобто 3247.

Виконавши перевірку за формулою (1), переконаємося в правильності перекладу:

3247 = 3.72 +2 · 71 +4 · 70 = 3.49 +2 · 7 +4 = 147 +14 +4 = 165.

Для перекладу дрібних частин чисел застосовується алгоритм, отриманий на підставі формули (2):

1. Помножимо дробову частину числа на p.

2. Ціла частина результату буде черговий цифрою am (m = -1, -2, -3 ...) запису числа в новій системі числення. Якщо дробова частина результату дорівнює нулю, то переклад числа закінчений, інакше застосовуємо до неї пункт 1.

Зауваження 1. Цифри am в запису числа розташовуються зліва направо в порядку зростання абсолютного значення m.

Зауваження 2. Зазвичай кількість дрібних розрядів в новому записі числа обмежується заздалегідь. Це дозволяє виконати наближений переклад із заданою точністю. У разі нескінченних дробів таке обмеження забезпечує кінцівку алгоритму.

Приклад 1:

Перевести число 0,625 в двійкову систему числення.

0,625 · 2 = 1,25 (ціла частина 1) => a-1 = 1

0,25 · 2 = 0,5 (ціла частина 0) => a-2 = 0

0,5 · 2 = 1,00 (ціла частина 1) => a-3 = 1

Отже, 0,62510 = 0,1012

Виконавши перевірку за формулою (2), переконаємося в правильності перекладу:

0,1012 = 1.2 -1 +0 · 2-2 +1 · 2-3 = 1/2 +1 / 8 = 0,5 +0,125 = 0,625.

Приклад 2:

Перевести число 0,165 у четверичной систему числення, обмежившись чотирма четверичной розрядами.

0,165 · 4 = 0,66 (ціла частина 0) => a-1 = 0

0,66 · 4 = 2,64 (ціла частина 2) => a-2 = 2

0,64 · 4 = 2,56 (ціла частина 2) => a-3 = 2

0,56 · 4 = 2,24 (ціла частина 2) => a-4 = 2

Отже, 0,16510 "0,02224

Виконаємо зворотний переклад, щоб переконатися, що абсолютна похибка не перевищує 4-4:

0,02224 = 0.4 -1 +2 · 4-2 +2 · 4-3 +2 · 4-4 = 2/16 +2 / 64 +2 / 256 = 1/8 +1 / 32 +1 / 128 = 21/128 = 0,1640625

| 0,1640625-0,165 | = 0,00094 <4-4 = 0,00390625

Переклад чисел з однієї довільної системи в іншу

В цьому випадку спочатку слід виконати переклад числа в десяткову систему, а потім з десяткової в необхідну.

Особливим способом виконується переклад чисел для систем із кратними основами.

Нехай p і q - заснування двох систем числення. Будемо називати ці системи системами числення з кратними підставами, якщо p = qn або q = pn, де n - натуральне число. Так, наприклад, системи числення з основами 2 та 8 є системами числення з кратними основами.

Нехай p = qn і потрібно перевести число з системи числення з основою q в систему числення з основою p. Розіб'ємо цілу і дробову частини запису числа на групи по n послідовно записаних цифр вліво і вправо від коми. Якщо кількість цифр у записі цілої частини числа не кратно n, то треба дописати зліва відповідну кількість нулів. Якщо кількість цифр у записі дробової частини числа не кратно n, то нулі дописуються справа. Кожна така група цифр числа в старій системі числення буде відповідати одній цифрі числа в новій системі числення.

Приклад:

Переведемо 1100001,1112 в четверичной систему числення.

Дописавши нулі і виділивши пари цифр, отримаємо 01100001,11102.

Тепер виконаємо переклад окремо кожної пари цифр, користуючись пунктом Переклад чисел з однієї довільної системи в іншу.

012 = 110 = 14

102 = 210 = 24

002 = 010 = 04

012 = 110 = 14

112 = 310 = 34

102 = 210 = 24

Отже, 1100001,1112 = 01100001,11102 = 1201,324.

Нехай тепер потрібно виконати переклад з системи з більшою підставою q, в систему з меншим підставою p, тобто q = pn. В цьому випадку одній цифрі числа в старій системі числення відповідає n цифр числа в новій системі числення.

Приклад: Виконаємо перевірку попереднього перекладу числа.

1201,324 = 1100001,11102 = 1100001,1112

У шістнадцятковій системі є цифри з числовими значеннями 10,11,12, 13,14,15. Для їх позначення використовують перші шість букв латинського алфавіту A, B, C, D, E, F.

Наведемо таблицю чисел від 0 до 16, записаних в системах числення з основами 10, 2, 8 і 16.

Сукупність прийомів та правил найменування й позначення чисел називається системою числення.

Для переводу цілих чисел з однієї системи числення з основою S в іншу з основою S1 потрібно це число послідовно ділити на основу S1 нової системи числення до тих пір, поки не отримаємо частку менше S1. Число у новій системі запишеться у вигляді залишків ділення, починаючи з останнього. Ця остання частка дає цифру старшого розряду у новій системі числення. Ділення виконують у вихідній системі числення. Наприклад, переведення числа 999 з десяткової системи числення в двійкову:

Для переводу правильного дробового числа з однієї системи числення в іншу необхідно цю дріб послідовно помножити на основу тієї системи , в яку вона переводиться, перемножуються тільки дробові частини. Дріб у новій системі записується у вигляді цілих частин добутків, які отримуються , починаючи з першого. Наприклад, переведення дробу 0,35 в двійкову систему:

Для переводу чисел з будь якої системи числення в десяткову необхідно:

  • старшу цифру вихідного числа помножити на основу старої системи числення та додати наступну цифру вихідного числа;

  • результат знову помножити на основу старої системи числення та додати наступну цифру вихідного числа;

  • процес переводу закінчується після додавання останньої найменшої цифри вихідного числа;

  • для переводу чисел з десяткової системи числення в будь яку необхідно ділити вихідне число на основу нової системи числення до тих пір поки остання частка не стане менше основи нової системи числення. Результат складається з залишків ділення, починаючи з останнього;

  • для переводу чисел з будь якої системи числення в будь яку необхідно вихідне число перевести в десяткову систему за першим правилом (множенням), отримане десяткове число перевести в шукану систему за другим правилом (ділення).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]