Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364150
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62792)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21320)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21697)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8694)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3463)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20645)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

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

Название: Перетворення чисел з однієї системи числення в іншу
Раздел: Рефераты по информатике, программированию
Тип: курсовая работа Добавлен 07:17:27 03 декабря 2008 Похожие работы
Просмотров: 1539 Комментариев: 2 Оценило: 4 человек Средний балл: 3.8 Оценка: неизвестно     Скачать

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

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

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

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

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

Дата ________________

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

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

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

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

“____” ____________ 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, назвали відповідно вісімковою і шістнадцятковою.


Вісімкові і шістнадцяткові системи числення:

Десяткове число Вісімкове число Тріада Шістнадцяткове число Тетрада
0 0 000 000 0 0000
1 1 000 001 1 0001
2 2 000 010 2 0010
3 3 000 011 3 0011
4 4 000 100 4 0100
5 5 000 101 5 0101
6 6 000 110 6 0110
7 7 000 111 7 0111
8 10 001 000 8 1000
9 11 001 001 9 1001
10 12 001 010 А 1010
11 13 001 011 В 1011
12 14 001 100 С 1100
13 15 001 101 D 1101
14 16 001 110 Е 1110
15 17 001 111 F 1111
16 20 010 000 10 10000

У таблиці приведені числа в десятковій, вісімковій і шістнадцятковій системах і відповідні групи бітів в двійковій системі.

16-pазpядне двійкове число із знаковим розрядом можна представити 6-pозpяднимвісімковим, причому старший байт в нім прийматиме значення лише 0 або 1. У шістнадцятковій системі таке число займе 4 розряди.

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

Двійкові

числа

Вісімкові

числа

Десяткові

числа

Шістнадцяткові числа
0,0001 0,04 0,0625 0,1
0,001 0,1 0,125 0,2
0,01 0,2 0,25 0,4
0,1 0,4 0,5 0,8
1 1 1 1
10 2 2 2
11 3 3 3
100 4 4 4
101 5 5 5
110 6 6 6
111 7 7 7
1000 10 8 8
1001 11 9 9
1010 12 10 A
1011 13 11 B
1100 14 12 C
1101 15 13 D
1110 16 14 E
1111 17 15 F
10000 20 16 10

Арифметичні операції над числами у вісімковій або шістнадцятковій системах проводяться по тих же правилах, що і в десятковій системі. Тільки потрібно пам’ятати, що якщо має місце перенесення, то переноситься не після 10, а після 8 або 16.


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

При представленні числа в двійковому коді з цифрами 0,1 в кожному розряді записуются цифри 0 або 1. Оскільки в ЕОМ «запис» числа здійснюється за допомогою технічних пристроїв, то для представлення його в такій формі необхідно розташовувати пристрої з двома надійно різними станами, яким можуть бути зіставлені значення 0 або 1. Комбінація таких пристроїв, число яких відповідає кількості розрядів записуваного числа, може бути використана для представлення чисел в ЕОМ.

Як такі пристрої, можуть бути використані трігери. Набір трігерів, предна-значенних для представлення чисел в ЕОМ, а також для виконання над ними деяких логічних перетворень, називається регістром. Зрозуміло, число розрядів, відведене для запису числа, відповідне числу трігерів, в ЕОМ завжди звичайно. Вибір кількості розрядів для представлення чисел в ЕОМ є одним з найвідповідальніших етапів конструювання обчислювальної машини і обумовлюється цілим рядом потреб, серед яких одне з найважливіших - необхідна точність обчислень.

У ЕОМ застосовуються дві основні форми представлення чисел: півлогарифмічна - з плаваючою комою і природна - з фіксованим положенням коми.

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

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

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

Числа з фіксованою комою

Формат для чисел з комою, фіксованою перед старшим розрядом. У цьому форматі можуть бути з точністю до представлені числа (правильні дроби) в діапазоні

Перші ЕОМ були машинами з фіксованою комою, причому кома фіксувалася перед старшим розрядом числа. В даний час, як правило, форму з фіксованою комою застосовують для представлення цілих чисел (кома фіксована після молодшого розряду).

Використовують два варіанти представлення цілих чисел: із знаком і без знаку. У послідньому випадку всі розряди розрядної сітки служать для представлення модуля числа. У ЄС ЕОМ застосовуються обидва вказані варіанти представлення цілих чисел, причому кожен з варіантів реалізується як у форматі 32-розрядного машинного слова цих машин, так і у форматі 16-розрядного півслова.

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

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

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

Числа з плаваючою комою

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

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

Порядок вказує на дійсне положення коми в числі. Код в приведеному форматі представляє значення числа в напівлогарифмічній формі:

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

Нормалізовані двійкові числа з плаваючою комою представляють значення модуля в діапазоні:

де - максимальне значення модуля порядку.

Так, при p=7-1= =63 і діапазон представлення модулів нормалізованих чисел:

Таким чином, діапазон чисел:

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

При записі чисел в кодах ASCII цифрам від 0 до 9 поставлені у відповідність восьмирозрядні двійкові коди від 00110000 до 00111001.

ЕОМ, призначені для обробки економічної інформації, наприклад IBMAT, дозволяють проводити арифметичні операції в десятковій системі числення над числами, представленими в двійково-десяткових кодах і кодах ASCII.


5. Висновки

В процесі налагодження програм та в деяких інших ситуаціях у програмуванні актуальною є проблема переведення чисел з однієї позиційної системи числення в іншу. Якщо основа нової системи числення дорівнює деякому степеню старої системи числення, то алгоритм переводу дуже простий: потрібно згрупувати справа наліво розряди в кількості, що дорівнює показнику степеня і замінити цю групу розрядів відповідним символом нової системи числення. Цим алгоритмом зручно користуватися коли потрібно перевести число з двійкової системи числення у вісімкову або шістнадцяткову. Наприклад, 101102 =10 110=268 , 10111002 =101 1100=5C8

У двійковому відбувається за зворотнім правилом: один символ старої системи числення заміняється групою розрядів нової системи числення, в кількості рівній показнику степеня нової системи числення. Наприклад, 4728 =100 111 010=1001110102 , B516=1011 0101=101101012

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


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

Програма розроблена для перетворення чисел з однієї системи числення в іншу.Реалізована в середовищі програмування Borland C ++ Builder .

Лістінг програми:

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

#include <math.h>

#include <conio.h>

#include <iostream.h>

#include <string.h>

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

//зчитуваня початкового числа

sprintf(s,"%s",Edit1->Text.c_str()); // копіюємо текст в рядок S

sscanf(s,"%s",&szInitialNumber); // зчитуємо значення із рядка S

l=strlen(s);

//зчитування початкової системи числення

sprintf(s,"%s",Edit2->Text.c_str());

sscanf(s,"%i",&InitialSystem);

//зчитування потрібної системи числення

sprintf(s,"%s",Edit3->Text.c_str());

sscanf(s,"%i",&NecessarySystem);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

for(i=0; i<l; i++)

if( szInitialNumber[i]=='.')

SplitPoint=i;

for(i=0; i<SplitPoint; i++)

szIntegralPart[i]=szInitialNumber[i];

for(i=SplitPoint+1; i<l; i++)

szFractionalPart[i]=szInitialNumber[i];

l2=l-SplitPoint-1;

l1=l-l2-1;

// перетворення цілої частини

for(i=0; i<l1; i++)

for(j=0;j<=100;j++)

if(szIntegralPart[i]==( j >= 10 ? 'A' + j - 10 : '0' + j ))

u[i]=j;

e=0;

for(i=0; i<l1-1; i++)

e=(u[i]+e)*InitialSystem;

n=e+u[l1-1];

m=0;

for(i=0; n>=m; i++)

{

m=pow(NecessarySystem, i);

ll=i-1;

}

for(k=ll; k>=0; k--)

{

t=pow(NecessarySystem, k);

x=n/t;

o[k]=x;

for(j=0; j<100; j++)

if(o[k]==j)

w[k]=( j >= 10 ? 'A' + j - 10 : '0' + j ) ;

n=n%t;

}

lll=strlen(w);

for(i=0; i<=ll; i++)

szGetIntegralPart[i]=w[ll-i];

// перетворення дробової частини

for(i=SplitPoint+1; i<l; i++)

for(j=0; j<=100; j++)

if(szFractionalPart[i]==( j >= 10 ? 'A' + j - 10 : '0' + j ))

u1[i]=j;

e1=0;

pp=InitialSystem;

r=1/pp;

for(i=l-1;i>SplitPoint;i--)

e1=(u1[i]+e1)*r;

n1=e1;

nn[0]=n1;

for(i=0; i<20; i++)

{

nn[i+1]=nn[i]*NecessarySystem;

if(nn[i+1]>=1)

{

nnn[i+1]=nn[i+1];

nn[i+1]=nn[i+1]-nnn[i+1];

}

else

{

nn[i+1]=nn[i+1];

nnn[i+1]=nn[i+1];

}

}

for(k=1; k<20; k++)

for(j=0; j<100; j++)

if(nnn[k]==j)

szGetFractionalPart[k]=( j >= 10 ? 'A' + j - 10 : '0' + j );

for(k=0; k<20; k++)

szGetFractionalPart[k]=szGetFractionalPart[k+1];

Edit4->Text=PP;

if(u[0]==0)

szGetIntegralPart[0]='0';

sprintf(s,"%s.%s", szGetIntegralPart, szGetFractionalPart);

Edit4->Text=s;

for(i=0;i<=ll;i++)

szGetIntegralPart[i]=PP[i];

for(i=0;i<=40;i++)

szGetFractionalPart[i]=PP[i];

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N1Click(TObject *Sender)

{

Close();

}

Контрольні приклади :

Приклад 1.

Перетворити число 109 з десяткової системи числення в двійкову.

Приклад 2.

Перетворити число 1011100000001111 з двійкової системи числення в шістнадцяткову систему числення.

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

1. Григоренко Я.М., Панкратова Н. Д. “Обчислювальні методи в задачах прикладної математики”. Навч.посібник.-К.:Либідь,1995.-280с.

2. “Численные методы в инженерных исследованиях” / В. Е. Краскевич, К. Х. Зеленский, В. И. Гречко.-К.: Вища шк. Головное изд-во,1986.-263 с.

3. Фейсон Т. « Объектно-ориентированное программирование на BorlandC++ 4.5». Киев, «Диалектика»,1996.

4. Каган Б.М. Электронные вычислительные машины и системы, М.: Энергоатомиздат, 1985.

5. Фомин С.В. Системы счисления, М.: Наука, 1987.

6. Выгодский М.Я. Справочник по элементарной математике, М.: Государственное издательство технико-теоретической литературы, 1956.

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Где скачать еще рефератов? Здесь: letsdoit777.blogspot.com
Евгений07:29:23 19 марта 2016
Кто еще хочет зарабатывать от 9000 рублей в день "Чистых Денег"? Узнайте как: business1777.blogspot.com ! Cпециально для студентов!
19:41:01 28 ноября 2015

Работы, похожие на Курсовая работа: Перетворення чисел з однієї системи числення в іншу
Динамічна пам'ять, принципи її організації і роботи
Курсова робота на тему "Динамічна пам'ять, принципи її організації і роботи" ЗАВДАННЯ ДО КУРОСОВОЇ РОБОТИ Варіант 3 Згідно з номером свого варіанта ...
Позиційні системи числення для запису чисел використають обмежений набір символів, називаних цифрами, і величина числа залежить не тільки від набору цифр, але й від того, у якій ...
Числа від 0 до 9 записуються цифрами, для запису наступного числа цифри не існує, тому замість 9 пишуть 0, але левее нуля утвориться ще один розряд, називаний старшим, де ...
Раздел: Рефераты по информатике, программированию
Тип: курсовая работа Просмотров: 2757 Комментариев: 2 Похожие работы
Оценило: 0 человек Средний балл: 0 Оценка: неизвестно     Скачать
Мова програмування Assembler
Лекція 1 Вступна лекція 1. Загальний огляд дисципліни 2. Основні аспекти створення системних програм 3. Типи мов програмування: інтерпретатори ...
/PAUSE (P) - Пауза перед записом модуля в EXE-файл (і після запису в MAP-файл, якщо це передбачено).
Шістнадцятковий формат допускає шістнадцяткові цифри від 0 до F і позначається останньою буквою H. Оскільки асемблер думає, що з букви починаються ідентифікатори, то першою цифрою ...
Раздел: Рефераты по информатике, программированию
Тип: учебное пособие Просмотров: 4958 Комментариев: 2 Похожие работы
Оценило: 1 человек Средний балл: 5 Оценка: неизвестно     Скачать
Аналіз теорії цифрових автоматів
Аналіз теорії цифрових автоматів (курсова робота) Содержание Двійкова арифметика Системи числення з довільною основою Мішані системи числення Форма з ...
Крапки, поставлені над деякими розрядами, показують, що в двійковій системі одиниця відміченого розряду роздроблюється на дві одиниці вищого розряду.
Наприклад, воно може бути таким: крайній зліва розряд - знаковий, потім наступні 9 розрядів відводяться під цілу частину і, накінець, 14 розрядів, які залишилися, під дробову ...
Раздел: Рефераты по информатике, программированию
Тип: курсовая работа Просмотров: 575 Комментариев: 3 Похожие работы
Оценило: 1 человек Средний балл: 5 Оценка: неизвестно     Скачать
Електроніка та мікропроцесорна техніка
Інструкційна картка №1 для самостійного опрацювання навчального матеріалу з дисципліни "Основи електроніки та мікропроцесорної техніки" І. Тема: 1 ...
1) послідовні - запис інформації в яких виконується послідовно - одного двійкового розряду за іншим через один вхід;
3) послідовного вводу інформації (входи JK-тригера першого розряду) - J, K;
Раздел: Рефераты по коммуникации и связи
Тип: учебное пособие Просмотров: 11882 Комментариев: 3 Похожие работы
Оценило: 0 человек Средний балл: 0 Оценка: неизвестно     Скачать
Моделювання задач масового обслуговування ЕОМ
Міністерство освіти і науки України Рубіжанський політехнічний коледж ім. О. Є. Порай-Кошиці Луганського національного педагогічного університету ...
Значення першого розряду визначається як сума по модулю 2 тих інформаційних розрядів в двійковому коді номерів, яких одиниця присутня в першому розряді.
Другий суматор по модулю 2 виконує функцію отримання другого контрольного розряду по формулі з таблиці 3:
Раздел: Рефераты по информатике, программированию
Тип: курсовая работа Просмотров: 681 Комментариев: 2 Похожие работы
Оценило: 0 человек Средний балл: 0 Оценка: неизвестно     Скачать
Розробка управляючого і операційног вузлів ЕОМ
... ЕОМ з наступними параметрами: 1. Система числення: 1.2 десяткова 2. Спосіб представлення інформації: 2.1 з фіксованою комою 3. Загальна кількість
Далі на вхід суматора подається зсунуте вліво ділене, утворюється частковий залишок шляхом підсумовуванням додаткового коду дільника, і наступна цифра частки заноситься в ...
Для числа, модуль якого дорівнює нулю, в знаковому біті завжди формуєтсья одиниця.
Раздел: Рефераты по радиоэлектронике
Тип: реферат Просмотров: 445 Комментариев: 3 Похожие работы
Оценило: 2 человек Средний балл: 4 Оценка: неизвестно     Скачать
Розробка цифрових засобів ПЛІС в інтегрованому середовищі проектування ...
Міністерство освіти і науки України Національний технічний університет України "Київський політехнічний інститут" Приладобудівний факультет Кафедра ...
... Q. Тепер при наявності логічної 1 на інформаційному вході регістру ця одиниця з кожним тактовим імпульсом вводиться в розряд А, а введені раніше одиниці зсуваються на одну позицію ...
Крайній лівий розряд двійкового числа, такого, наприклад, як 101011, називають самим старшим розрядом (ССР), а крайній правий розряд - самим молодшим розрядом (СМР).
Раздел: Рефераты по информатике, программированию
Тип: дипломная работа Просмотров: 2058 Комментариев: 2 Похожие работы
Оценило: 0 человек Средний балл: 0 Оценка: неизвестно     Скачать
Структура типових тематичних англійських назв груп і виконавців
Національний університет кораблебудування імені адмірала Макарова Гуманітарний інститут Кафедра прикладної лінгвістики ЗАТВЕРДЖУЮ: Завідуючий кафедрою ...
Власні імена, хоча й зараховуються в розряд повнозначних лексичних знаків, однак різко протистоять останнім як за своїм значенням, так і по сфері й обсягу функціонування, займаючи ...
Другий ресурс, "вбивство", може використовуватися як віддзеркалення переважаючого насильства на вулицях в соціальній реальності афро-американців. Назви груп в такому ресурсі як ...
Раздел: Топики по английскому языку
Тип: дипломная работа Просмотров: 696 Комментариев: 2 Похожие работы
Оценило: 0 человек Средний балл: 0 Оценка: неизвестно     Скачать

Все работы, похожие на Курсовая работа: Перетворення чисел з однієї системи числення в іншу (3122)

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

Да, в любом случае.
Да, но только в случае крайней необходимости.
Возможно, в зависимости от цены.
Нет, напишу его сам.
Нет, забью.



Результаты(151242)
Комментарии (1843)
Copyright © 2005-2016 BestReferat.ru bestreferat@mail.ru       реклама на сайте

Рейтинг@Mail.ru