Курсовая работа: Програма переводу з однієї системи числення у іншу

Кількість цифр, використовуваних для зображення числа в позиційній системі числення, називається підставою системи.

У добре нам відомій з дитинства десятковій позиційній системі числення для запису будь-якого числа використовуються десять цифр (підстава системи 10) причому кожна цифра в числі несе подвійну інформацію: по-перше, своє власне значення-2;3;4...., а по-друге, місце яких вона займає в записі числа.

Розглянемо приклад числа: 1579320.

Занумеруємо всі розряди справа наліво, причому звичний нам розряд одиниць будемо вважати нульовим; тоді розряд десятків буде першим, сотень другим, тисяч третім і так далі. Така нумерація дуже природна, оскільки одиниці – це 10 у нульовому ступені, десятки – 10 у першої, сотні – 10 у другий і т.д., тобто розташування тієї чи іншої цифри в записі числа є не що інше, як пряма вказівка, якою ступенем 10 його можна замінити. А саме значення цифри показує, скільки разів треба взяти 10 у заданому ступені. Таким чином, остаточно наше число запишеться в наступному виді: 1*106+5*105+7*104+9*103+3*102+2*101+0*100 .

У загальному випадку запис будь-якого змішаного числа в системі числення з основою p буде являти собою ряд виду:


(1.1)

Послідовність цифр числа‚ розміщених справа від а0 називається дробовою частиною числа‚ послідовність - цілою частиною числа.

В ЕОМ та при підготовці задач для розв’язування на них крім десяткової системи числення застосовуються й інші - двійкова‚ вісімкова та шістнадцяткова.

Розділ 2. Методи та засоби розв'язку задачі

Задачу переводу з однієї системи числення (з основою p ) в іншу систему (з основою q ) можна розглядати у двох варіантах (випадках).

Варіант 1 . Найбільш простий випадок - перевід з системи з основою p в систему з основою q (і навпаки)‚ якщо має місце співвідношення (k - ціле додатне число).

У цьому випадку перевід з системи з основою p в систему з основою q ( ) здійснюють порозрядно‚ замінюючи кожну p - у цифру рівним їй k - розрядним числом‚ записаним в системі з основою числення q .

Зворотний перевід ( ) здійснюють таким чином. Рухаючись від коми вправо і вліво‚ розбивають число‚ записане в системі числення з основою q на групи по k цифр. Якщо при цьому найлівіша або сама найправіша група виявиться неповною‚ то до неї дописують відповідно зліва чи справа стільки цифр‚ щоб кожна з них містила k цифр. Після цього кожну групу q -вих цифр замінюють однією p -овою цифрою‚ котра дорівнює числу‚ позначеному цією групою q -вих цифр.

Приклад 1 . Системи числення з основою‚ кратною 2:

а) вісімкове число 273‚54 переводиться у двійкову систему (8 = 23 ) так:

273‚548 = (010)(111)(011)‚(101)(100)=10111011‚10112 ;

б) двійкове число 11011‚0011 переводиться у вісімкову систему числення так:

1011‚00112 = 11(011)‚(001)1 = (011)(011)‚(001)(100) = 33‚148 ;

в) шістнадцяткове число A5,B1E переводиться в двійкову систему числення (16 = 24 ) так:

A5,B1E16 = (1010)(0101),(1011)(0001)(1110) = 10100101,101100011112

Випадок 2 . Перевід з системи з основою p в систему з основою q ‚ якщо має місце співвідношення (k - ціле додатне число)‚ здійснюється окремо для цілої та дробової частин.

Перевід цілої частини числа. Число q записують в p -мі системі числення. Ділять в p -вій системі цілу частину числа на q і отримують остачу‚ яка є останньою цифрою шуканого числа. Отриману частку знову ділять на q і отримують остачу‚ яка є передостанньою цифрою шуканого числа і т.д. процес продовжують до тих пір‚ поки остача не стане меншою ‚ ніж число q . Остання остача буде першою (старшою) цифрою числа.

Перевід дробової частини. Число q записують в p -мі системі числення. Дріб множимо в p -вій системі на q . Ціла частина добутку дорівнює першій цифрі запису числа. Дробову частину добутку знову множимо на q . Ціла частина добутку дорівнює наступній цифрі запису числа в системі числення з основою q . Процес продовжують до тих пір поки не отримаємо добуток у вигляді цілого числа або не отримаємо потрібної кількості цифр шуканого дробу.

Приклад 2 . Переведемо число 191‚687510 у вісімкову систему числення. Спочатку переводимо цілу частину:



191

8

16

23

8

31

16

2

24

7

7

Таким чином‚ 19110 = 2778 . Тепер переводимо двійкову частину:

0

6875

8

5

5000

8

4

0000

Таким чином‚ 0,687510 = 0,548 . Остаточно‚ отримуємо 191,687510 = 277‚548 .

Як бачимо‚ алгоритми переводу з однієї системи числення в іншу є надзвичайно простими‚ що дає змогу доволі просто здійснити їх реалізацію на ПК.

Розділ 3. Практична реалізація розв'язку задачі

Практична реалізація задачі переводу чисел з однієї системи числення у іншу здійснена для напрямків: десяткова система числення Þ двійкова‚ вісімкова та шістнядцяткова системи та навпаки. Для розв’язку даної задачі розроблено модуль calc.tpu та програму kurs2.pas (текст представлено в додатку А).

В модулі реалізовано ряд процедур.

Процедура Hide_cursor. Робить курсор невидимим. Використовує процедуру Set_cursor та стандартну процедуру Intr .

К-во Просмотров: 536
Бесплатно скачать Курсовая работа: Програма переводу з однієї системи числення у іншу