Системи числення. Алгоритми переведення з однієї системи в іншу
Позиційні системи числення та системи числення з основами. Переведення із десяткової до довільної позиційної системи числення. Перетворення дійсних чисел. Арифметичні операції над числами в двійковій системі. Подання цілих та дійсних чисел у комп’ютері.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | украинский |
Дата добавления | 07.09.2011 |
Размер файла | 67,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Системи числення. Алгоритми переведення з однієї системи в іншу
У позиційних системах числення одна і та ж цифра (числовий знак) у записі числа набуває різних значень залежно від своєї позиції. Таким чином, позиція цифри має вагу у числі. Здебільшого вага кожної позиції кратна деякому натуральному числу b, b > 1, яке називається основою системи числення.
Крім звичної нам десяткової, також поширені системи числення з основами:
2 -- двійкова (у дискретній математиці, інформатиці, програмуванні)
8 -- вісімкова (у програмуванні)
12 -- дванадцяткова (мала широке застосування у давнину, подекуди використовується і нині)
16 -- шістнадцяткова (поширена у програмуванні, а також для кодування шрифтів)
60 -- шістдесяткова (для виміру кутів і, зокрема, довготи і широти).
Переведення довільної позиційної системи числення до десяткової
Якщо число у системі числення з основою b дорівнює
то для переведення його до десяткової системи обчислюють наступну суму:
або, більш наглядно:
або, нарешті, у вигляді схеми Горнера:
Приклад
1011002 =
= 1 · 25 + 0 · 24 + 1 · 23 + 1 · 22 + 0 · 21 + 0 · 1 =
= 1 · 32 + 0 · 16 + 1 · 8 + 1 · 4 + 0 · 2 + 0 · 1 =
= 32 + 8 + 4 + 0 = 4410
Переведення із десяткової до довільної позиційної системи числення
Для переведення потрібно ділити число із залишком на основу системи числення допоки частка не стане меншою за основу.
Приклад
4410 переведемо до двійкової системи
44 ділимо на 2. частка 22, залишок 0
22 ділимо на 2. частка 11, залишок 0
11 ділимо на 2. частка 5, залишок 1
5 ділимо на 2. частка 2, залишок 1
2 ділимо на 2. частка 1, залишок 0
Частка менша двох, ділення закінчено. Тепер записуємо усі залишки, починаючи з останнього, і останню частку від ділення зліва направо, отримаємо число 1011002.
Переведення із двійкової у вісімкову і шістнадцяткову системи і навпаки
Для цього типу операцій існує спрощений алгоритм.
Для вісімкової -- розбиваємо числа на триплети, перетворюючи триплети згідно таблиці
000 |
0 |
100 |
4 |
|
001 |
1 |
101 |
5 |
|
010 |
2 |
110 |
6 |
|
011 |
3 |
111 |
7 |
Для шістнадцяткової -- розбиваємо на квартети (тетраедри), перетворюючи згідно таблиці
0000 |
0 |
0100 |
4 |
1000 |
8 |
1100 |
C |
|
0001 |
1 |
0101 |
5 |
1001 |
9 |
1101 |
D |
|
0010 |
2 |
0110 |
6 |
1010 |
A |
1110 |
E |
|
0011 |
3 |
0111 |
7 |
1011 |
B |
1111 |
F |
Приклад 1
Перетворимо 1011002
у вісімкову -- 101 100 > 548
у шістнадцяткову -- 0010 1100 > 2C16
Приклад 2
Перетворимо до двійкової системи
768 > 111 1102
3E16 > 0011 11102
Перетворення дійсних чисел
Для переведення чисел із системи числення з основою p в систему числення з основою q з використанням арифметики старої системи числення з основою p потрібно:
§ для переведення цілої частини:
послідовно число, записане в системі основою p ділити на основу нової системи числення, виділяючи остачі. Останні записані у зворотному порядку, будуть утворювати число в новій системі числення;
§ для переведення дробової частини:
послідовно дробову частину множити на основу нової системи числення, виділяючи цілі частини, які й будуть утворювати запис дробової частини числа в новій системі числення.
Цим самим правилом зручно користуватися в разі переведення з десяткової системи числення, тому що її арифметика для нас звичніша.
Приклади: 999,3510=1111100111,010112
§ для цілої частини:
§ для дробової частини:
Арифметичні операції над числами в двійковій системі
Додавання двох чисел в двійковій системі можна виконувати стовпцем, складаючи або дві цифри молодшого розряду, або дві цифри чисел, які додаються, в даному розряді і одиниці перенесення з сусіднього молодшого розряду. Наприклад,
1111101
+ 101101.01
11011.01
-------------------
1001000.10
Числа в двійковій системі віднімаються аналогічно числам в десятковій системі. При відніманні чисел в даному розряді, якщо цифра, що зменшується, менше цифри числа, що віднімається, позичають одиницю з наступного старшого розряду. При цьому одиниця, що позичається із старшого розряду, рівна двом одиницям даного розряду. Наприклад,
10101.11
- 1011.01
---------------
1010.10
Подання цілих чисел у комп'ютері
Для подання чисел у пам'яті комп'ютера використовують спеціальні двійкові коди: прямий, обернений та доповняльний.
Прямий код. Для його одержання треба у двійковому цілому числі знак „+” замінити символом „0”, а знак „-„ - символом 1. Наприклад, для двійкового числа Х=-1001111 його прямим кодом буде [X]пр.=1.1001111. Тут крапка відокремлює знак числа від його цифрової частини.
Обернений код цілого числа. Для додатніх чисел обернений код співпадає з прямим.
Для оберненого коду нуль має два зображення:
Доповняльний код. Для додатніх чисел доповняльний код співпадає з прямим. Для від'ємного числа доповняльний код визначається за співвідношенням:
.
Доповняльний код цілого від'ємного числа можна одержати за таким алгоритмом:
1) у знаковий розряд записати одиницю;
2) у цифрових розрядах одиниці замінити нулями, а нулі - одиницями;
3) до наймолодшого розряду одержаного результату (обернений код) додати 1.
Приклад.
Знайти доповняльний код від'ємного числа -10110, записаного в байтове машинне слово.
Обернений та доповняльний коди використовуються для виконання арифметичних дій. При цьому дію віднімання замінюють дією додавання обернених або доповняльних кодів.
система числення операція арифметичний
Подання дійсних чисел у комп'ютері
Для збільшення діапазону подання чисел у комп'ютері було запропоновано подавати числа в режимі з плаваючою крапкою:
,
де - мантиса, - характеристика або порядок.
Мантиса задає значущі цифри числа, а порядок вказує місцезнаходження крапки, яка відділяє цілу частину від дробової.
У комп'ютерах використовують нормалізоване подання числа:
Машинне слово ділиться на два основних поля. В одному полі записується мантиса числа, в другому - порядок числа.
У пам'яті комп'ютера мантиса подається як ціле число, що містить тільки значущі цифри (0 і крапка не зберігаються). Отже, внутрішнє подання в комп'ютері дійсного числа зводиться до подання пари чисел: порядку і мантиси.
При цьому використовується машинний порядок.
Машинний порядок зміщений відносно математичного р і має тільки додатні значення. Зміщення z вибирають так, щоб мінімальному математичному порідку р відповідав нуль:
Знак |
Мантиса |
Для запису внутрішнього подання дійсного десяткового числа в машинному слові (числовому регістрі) потрібно:
1) перевести модуль даного числа у війкову систему числення з k-значущими цифрами, k - кількість розрядів машинного слова, відведених для запису мантиси;
2) нормалізувати війкове число;
3) знайти машинний порядок у двійковій системі числення;
4) враховуючи знак числа, записати представлення в машинному слові.
Приклад. Машинне слово складається із 4-ох байтів, перший з яких відводиться для запису і знаку числа. Подати в цьому слові десяткове число 53287,625.
1. 53287,62510=D027,A16=1101000000100111,1012;
2. 1101000000100111,1012=0,110100000010011110110210000.
3. Для запису машинного порядку числа відведено 7 двійкових розрядів. Оскільки 27=128, то математичний порядок може мати 128 значень і бути як додатнім, так і від'ємним. Тому доцільно ці значення поділити порівну між невід'ємними (від 0 до 63) та від'ємними (від -64 до -1) числами. Тоді, машинний порядок дорівнює або у двійковій системі числення:
, оскільки 6410=10000002. Математичний порядок р=100002. Отже, Мр(2)=10100002.
4. Записуємо подання числа у 32-розрядному машинному слові, пам'ятаючи, що мантиса - правильний дріб (тому записується, починаючи з лівих розрядів, відведених для мантиси).
0 |
1010000 |
110100000010011101000000 |
|
31 |
30 24 |
23 0 |
Завдання
1. Заповнити наступну таблицю згідно свого варіанту (всі переведення відобразити в зошиті):
Варіант |
Число в десятковій системі |
Число в двійковій системі |
Число в шістнадцятковій системі |
прямий код |
обернений код |
доповняльний код |
|
1 |
-257 |
||||||
2 |
-143 |
||||||
3 |
-29 |
||||||
4 |
-15 |
||||||
5 |
-47 |
||||||
6 |
-53 |
||||||
7 |
-41 |
||||||
8 |
-50 |
||||||
9 |
-38 |
||||||
10 |
-35 |
||||||
11 |
-32 |
||||||
12 |
-29 |
||||||
13 |
-26 |
||||||
14 |
-23 |
||||||
15 |
-20 |
||||||
16 |
-17 |
||||||
17 |
-14 |
||||||
18 |
-184 |
||||||
19 |
-135 |
||||||
20 |
-86 |
||||||
21 |
-37 |
||||||
22 |
-18 |
||||||
23 |
-45 |
||||||
24 |
-72 |
||||||
25 |
-99 |
2. Здійснити перевірку, використовуючи калькулятор.
3. Машинне слово складається із 4-ох байтів, перший з яких відводиться для запису і знаку числа. Подати в цьому слові десяткове число згідно свого варіанту:
Варіант |
Число в десятковій системі |
Знак |
Мантиса |
Число в десятковій системі |
Знак |
Мантиса |
|||
1 |
3764,794 |
-2764,54 |
|||||||
2 |
4420,493 |
-3420,239 |
|||||||
3 |
5076,192 |
-4075,938 |
|||||||
4 |
8354,687 |
-7354,433 |
|||||||
5 |
11633,18 |
-10632,928 |
|||||||
6 |
14911,68 |
-13911,423 |
|||||||
7 |
18190,17 |
-17189,918 |
|||||||
8 |
21468,67 |
-20468,413 |
|||||||
9 |
24747,16 |
-23746,908 |
|||||||
10 |
28025,66 |
-27025,403 |
|||||||
11 |
5076,192 |
-4075,938 |
|||||||
12 |
5731,891 |
-4731,637 |
|||||||
13 |
6387,59 |
-5387,336 |
|||||||
14 |
7043,289 |
-6043,035 |
|||||||
15 |
7698,988 |
-6698,734 |
|||||||
16 |
8354,687 |
-7354,433 |
|||||||
17 |
9010,386 |
-8010,132 |
|||||||
18 |
9666,085 |
-8665,831 |
|||||||
19 |
10321,78 |
-9321,53 |
|||||||
20 |
10977,48 |
-9977,229 |
|||||||
21 |
11633,18 |
-10632,928 |
|||||||
22 |
12288,88 |
-11288,627 |
|||||||
23 |
12944,58 |
-11944,326 |
|||||||
24 |
13600,28 |
-12600,025 |
|||||||
25 |
14255,98 |
-13255,724 |
5. Переведіть мантиси з попереднього завдання в 16-ковий код.
Контрольні запитання
1. Що таке система числення?
2. Які типи систем числення ви знаєте?
3. Що таке основа позиційної системи числення?
4. У чому полягає проблема вибору системи числення для подання чисел у пам'яті комп'ютера?
5. Яка система числення використовується для подання чисел у пам'яті комп'ютера? Чому?
6. Яким чином здійснюється перевід чисел, якщо основа нової системи числення дорівнює деякому степеню старої системи числення?
7. За яким правилом переводяться числа з десяткової системи числення?
8. За яким правилом переводяться числа в десяткову систему числення?
Размещено на Allbest.ru
Подобные документы
Аналіз математичного підґрунтя двійкової та двійкової позиційної систем числення. Переведення числа з двійкової системи числення в десяткову та навпаки. Арифметичні дії в двійковій системі. Системи числення з довільною основою. Мішані системи числення.
курсовая работа [149,5 K], добавлен 20.06.2010Методи алгоритмiчного описаня задач, програмування на основi стандартних мовних засобiв. Переклад з однієї системи числення в іншу при програмуванні. Системи числення. Двійкові системи числення. Числа з фіксованою і плаваючою комою. Програмна реалізація.
курсовая работа [164,1 K], добавлен 07.12.2008Практичне застосування систем кодування знакової та графічної інформації в електронних обчислювальних машинах. Позиційні системи числення. Представлення цілих і дійсних чисел. Машинні одиниці інформації. Основні системи кодування текстових даних.
практическая работа [489,5 K], добавлен 21.03.2012Принцип роботи машини тюрінга - математичного поняття, введеного для формального уточнення інтуїтивного поняття алгоритму. Опис алгоритмів арифметичних дій в шістнадцятковій системі числення. Правила переведення чисел з однієї системи числення в іншу.
курсовая работа [1,4 M], добавлен 31.01.2014Розробка програмного забезпечення для розв’язування задачі обчислювального характеру у середовищі Turbo Pascal 7.0. Розгляд систем числення. Практична реалізація задачі переводу чисел з однієї системи числення у іншу. Процедура зворотного переводу.
курсовая работа [112,2 K], добавлен 23.04.2010Принципи побудови систем числення, основні поняття. Системи числення, вид та тип числа, форма представлення, розрядна сітка та формат, діапазон і точність подання, спосіб кодування від’ємних чисел. Визначення та призначення тригерів, їх класифікація.
контрольная работа [150,9 K], добавлен 07.10.2009Перевід цілого числа з десяткової системи числення в Р-ічную. Застосовування "трійкової логіки" у ЕОМ. Контроль числових перетворень за допомогою кодів Фібоначчі. Використання недвійкової комп'ютерної арифметики при розробці обчислювальної техніки.
контрольная работа [35,6 K], добавлен 28.11.2014Значимість двійкової системи числення для кодування інформації. Способи кодування і декодування інформації в комп'ютері. Відповідність десятковій, двійковій, вісімковій і шістнадцятковій систем числення. Двійкове кодування інформації, алфавіт цифр.
презентация [1,4 M], добавлен 30.09.2013Арифметичні основи, на яких ґрунтується функціонування комп'ютерної техніки. Основні поняття дискретної обробки інформації. Системи числення, форми подання чисел у комп'ютерах. Арифметичні операції, що виконуються над числами, подані у двійковому коді.
учебное пособие [903,6 K], добавлен 18.12.2010Функції арифметико-логічного пристрою - виконання операцій над числами, що надходять до нього, за сигналами з пристрою керування. Правила переводу чисел з однієї системи числення в іншу. Розроблення алгоритму; функціональна і принципова електричні схеми.
курсовая работа [1,0 M], добавлен 27.04.2014