на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Перетворення чисел з однієї системи числення в іншу

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

3

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ЗАКАРПАТСЬКИЙ ДЕРЖАВНИЙ УНІВЕРСИТЕТ

ФАКУЛЬТЕТ ІНФОРМАТИКИ

Кафедра загальної інформатики та математичного моделювання

Реєстраційний №______

Дата ________________

КУРСОВА РОБОТА

З об'єктно-орієнтовного програмування

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

Рекомендована до захисту

“____” ____________ 2008р.

Робота захищена

“____” ____________ 2008р.

з оцінкою

_______________________

Підписи членів комісії

Виконав студент

ІІ - го курсу

денної форми навчання

Дюркі Андрій Євгенович

Науковий керівник

ст.викл. Мельник О.О.

Ужгород - 2008

Зміст

Вступ

1. Системи числення

2. Двійкові системи числення

3. Інші системи числення

4. Числа з фіксованою і плаваючою комою

5. Висновки

6. Програмна реалізація

7. Список використаної літератури

Вступ

Рацiональне i вмiле використання широких можливостей ЕОМ - важлива проблема сучасного етапа розвитку людства, актуальнiсть яко росте по мiрi збiльшення парку машин i вдосконалення х технiчного i програмного оснащення. Ефективний шлях рiшення вказаної проблеми складається в глибокому освоєнi i широкому використанi на практицi методiв алгоритмiчного описаня задач i х програмування на основi стандартних мовних засобiв - мов програмування високого рiвня.

Проблема перекладу з однієї системи числення в іншу дуже часто зустрічається при програмуванні. Особливо часто з'являється така проблема при програмуванні на Асемблері. Наприклад, при визначенні адреси комірки пам'яті, для одержання двійкового або шістнадцяткового еквівалентів десятичного числа. Іноді стає проблема збільшення швидкості обчислень, і тоді приходить на поміч двійкова система числення. У цій системі числення можна дуже швидко робити операцію множення шляхом зсуву одного з операндів у двійковому виді вліво на таке число позицій у який стоїть одиниця в другому операнді. Роздивимося докладніше як це здійснюється. Нехай нам треба помножити число 1101 на 101 (обидва числа в двійкові системі числення). Машина робить це в такий спосіб: вона бере число 1101, і якщо перший елемент другого множника дорівнює 1 то вона заносить його в суму. Потім зрушує число 1101 уліво на одну позицію, одержуючи тим самим 11010 і якщо другий елемент другого множника дорівнює одиниці то теж заносить його в суму. Якщо елемент другого множника дорівнює нулю то сума не змінюється. У зв'язку з цим, якщо другий множник містить багато нулів, то операція множення виконується досить довго, тому що машина перевіряє кожну цифру другого множника, у тому числі і нулі. Якщо ж самому робити операцію множення то нулі можна пропустити і тоді множення виконається швидше.

Що стосується застосування шіснадцяткової системи числення то тут теж великі можливості. По-перше, деякі стандартні процедури мов програмування потребують задачі параметрів у шістнадцяткові системі, а по-друге, така система числення дуже зручна для збереження інформації, тому що число в шістнадцяткові формі займає менше обсягу пам'яті чим теж число в десятковому, а тим більше в двійковому виді.

У такий спосіб ми переконалися, що проблема перекладу чисел з однієї системи числення в іншу є дуже актуальною.

1. Системи числення

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

Зазвичай всі системи числення розбивають на два класи: непозиційні і позиційні. Непозиційною називають систему числення, в якій значення кожної цифри в будь-якому місці послідовності цифр, що означає запис числа, не змінюється.

Історично першими системами числення були саме непозиційні системи. Одним з основних недоліків є трудність запису великих чисел. Запис великих чисел в таких системах або дуже громіздкий, або алфавіт системи надзвичайно великий. Прикладом непозиційної системи числення, що достатньо широко застосовується в даний час, може служити так звана римська нумерація.

Для визначення значення числа недостатньо знання типу і алфавіту системи числення. для цього необхідне ще завдання правила, що дозволяє по значенню цифр встановити значення числа. Наприклад, для визначення значення числа 945 в звичайній десятковій системі числення застосовується функція десяткового складання, тобто значення числа визначається по значенню цифр (9 в крайній лівій позиції, 5 в крайній правій позиції, 4 між ними) звичайним підсумовуванням: значення числа 945 є 900+40+5. У римській нумерації число IX визначається відніманням: значення числа IX є 10-1=9.

Позиційна система числення

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

Загальноприйнятою в сучасному світі є десяткова позиційна система числення, яка з Індії через арабські країни прийшла в Європу. Основою цієї системи є число десять. Основою системи числення називається число, яке означає, у скільки разів одиниця наступного розрядку більше за одиницю попереднього.

Загальновживана форма запису числа є насправді не що інше, як скорочена форма запису розкладу за степенями основи системи числення, наприклад:

130678=1*105+3*104+0*103+6*102+7*101+8

Тут 10 є основою системи числення, а показник степеня - це номер позиції цифри в записі числа (нумерація ведеться зліва на право, починаючи з нуля). Арифметичні операції у цій системі виконують за правилами, запропонованими ще в середньовіччі. Наприклад, додаючи два багатозначних числа, застосовуємо правило додавання стовпчиком. При цьому все зводиться до додавання однозначних чисел, для яких необхідним є знання таблиці додавання.

Проблема вибору системи числення для подання чисел у пам'яті комп'ютера має велике практичне значення. В разі її вибору звичайно враховуються такі вимоги, як надійність подання чисел при використанні фізичних елементів, економічність (використання таких систем числення, в яких кількість елементів для подання чисел із деякого діапазону була б мінімальною). Для зображення цілих чисел від 1 до 999 у десятковій системі достатньо трьох розрядів, тобто трьох елементів. Оскільки кожен елемент може перебувати в десятьох станах, то загальна кількість станів - 30, у двійковій системі числення 99910=1111100, необхідна кількість станів - 20 (індекс знизу зображення числа - основа системи числення). У такому розумінні є ще більш економічна позиційна система числення - трійкова. Так, для запису цілих чисел від 1 до у десятковій системі числення потрібно 90 станів, у двійковій - 60, у трійковій - 57. Але трійкова система числення не дістала поширення внаслідок труднощів фізичної реалізації.

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

2. Двійкові системи числення

При виконанні різних операцій в сучасних цифрових системах числа зазвичай представляються в двійковій системі числення, підставою якої є число 2. При цьому ціле к-розрядне десяткове число записується у вигляді n-розрядного двійкового числа :

==,

де =0, 1, … , 9 - цифра в i-му розряді десяткового числа

=0 або 1 - цифра в j-му розряді двійкового числа.

Введенням негативних ступенів числа 2 представляються дробові числа.

Таким чином, в двійковому численні будь-який розрахунок можна представити двома числами: 0 і 1. Для представлення цих чисел в цифрових системах досить мати електронні схеми, які можуть приймати два стани, що чітко розрізняються значенням якої-небудь електричної величини, - потенціали або струм. Одному із значень цієї величини відповідає цифра 0, іншому 1. Відносна простота створення електронних схем з двома електричними станами і привела до того, що двійкове представлення чисел домінує в сучасній цифровій техніці. При цьому 0 зазвичай представляється низьким рівнем потенціалу, а 1 - високим рівнем. Такий спосіб уявлення називається позитивною логікою.

Переклад десяткового числа в двійковий код можна здійснювати шляхом послідовного ділення числа на 2. Залишки ( 0 або 1 ), що виходять на кожному кроці ділення, формують двійковий код перетворюваного числа, починаючи з його молодшого розряду. Як старший розряд двійкового коду записується 1, отримана в результаті останнього кроку ділення. Наприклад, перетворення числа 109 у двійковий код виконується таким чином:

: залишки 109 2

=1 54 2

=0 27 2

=1 13 2

=1 6 2

=0 3 2

=1 1

=

=109===1101101

Зворотне перетворення виконується таким чином:

=

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

При використанні плаваючої коми число складається з двох частин: мантиси m, що містить значущі цифри числа, і порядку p, що показує ступінь, в який треба звести основу числа q, щоб отримане при цьому число, помножене на мантису, давало дійсне значення числа, що представлялося:

Мантиса і порядок представляються в двійковому коді. Звичайне число дається в нормалізованому вигляді, коли його мантиса є правильним дробом, причому перша значуща цифра ( одиниця ) слідує безпосередньо після коми: наприклад, де m=0,1010; p=10; q=2

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

Для представлення знаку числа використовується знаковий розряд z, який зазвичай розташовується перед числовими розрядами. Для позитивних чисел значення знакового розряду z=0, для негативних чисел z=1. Для чисел з плаваючою комою вводяться окремі знакові розряди для мантиси і для порядку чисел.

Оскільки 23=8, а 24=16 , то кожних три двійкових розряди зображення числа утворюють один вісімковий, а кожних чотири двійкових розряди - один шістнадцятковий. Тому для скорочення запису адрес та вмісту оперативної пам'яті комп'ютера використовують шістнадцяткову й вісімкову системи числення.

3. Інші системи числення

При налаштувані апаратних засобів (програм BIOS і т.д.) і написанні нових програм (особливо на мовах низького рівня типу асемблера або C) часто виникає необхідність заглянути в пам'ять машини, щоб оцінити її поточний стан. Але там все заповнено довгими послідовностями нулів і одиниць, дуже незручних для сприйняття. Крім того, природні можливості людського мислення не дозволяють оцінити швидко і точно величину числа, представленого, наприклад, комбінацією з 16 нулів і одиниць. Для полегшення сприйняття двійкового числа вирішили розбити його на групи розрядів, наприклад, по три або чотири розряди. Ця ідея виявилася вдалою, оскільки послідовність з 3 біт має 8 комбінацій, а послідовність з 4 бітів -16 комбінацій. Числа 8 і 16 - ступені двійки, тому легко знаходити відповідність між двійковими числами. Розвиваючи цю ідею, прийшли до виводу, що групи розрядів можна кодувати, скоротивши при цьому послідовність знаків. Для кодування трьох бітів (тріад) потрібно 8 цифр, і тому взяли цифри від 0 до 7 десяткової системи. Для кодування чотирьох бітів (тетрад) необхідно 16 знаків, і взяли 10 цифр десяткової системи і 6 букв латинського алфавіту: A,B,C,D,E,F. Отримані системи, що мають в основі 8 і 16, назвали відповідно вісімковою і шістнадцятковою.

Страницы: 1, 2



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.