Системи числення. Алгоритми переведення з однієї системи в іншу

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

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык украинский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.