Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

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

Читайте также:
  1. ERP — информационная система масштаба предприятия
  2. I Операционная система ОС Unix
  3. I Операционная система ОС Unix
  4. I Операционная система ОС Unix
  5. I. Система социального регулирования общественных отношений.
  6. I. Система социального регулирования общественных отношений.
  7. II. Общество как социальная система, её основные системные признаки
  8. II. Система культуры и её структура.
  9. III. Систематизація і доповнення знань
  10. Internet и система права.

 

 

Теория на хоккей, а именно, победу в ОТ или буллитах.

Действует только на основные лиги (КХЛ, НХЛ)

Берем матч, в котором в основное время ничья.

Открываем статистику и смотрим, какая команда больше била по воротам, сравниваем соотношение ударов.

С вероятностью 88% выиграет та коамнда, которая нанесла МЕНЬШЕ ударов в створ, а та, которая нанесла больше, соответственно, проиграет.

Чем больше разница у ударах, тем больше вероятность пообеды той команды, которая меньше била.

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

Найбільше розповсюдження в цифрових пристроях отримала двійкова СЧ, що використовує тільки дві цифри – 0 і 1.

Запис числа в ній представляється відповідною послідовністю двійкових цифр:

x (2) = am am-1 ... ai ... a1 a0 ,a-1 a-2 ... (2),

де ai Î {0, 1}.

Цей запис відповідає сумі ступенів числа 2, узятих із зазначеними в ній коефіцієнтами ai:

x (2) =am·10m + am-1·10m-1+...+ ai·10i +...+ a1·101+ a0·100 + a-1·10-1+ a-2·10-2 +... (2)= = am·2m + am-1·2m-1 +... + ai·2i +... + a1·21 + a0·20 + a-1·2-1 + a-2·2-2 +... (10) .

Приклад.

1011,101(2) = 1·103 + 0·102 + 1·101 + 1·100 + 1·10-1 + 0·10-2 + 1·10-3 (2) =
= 1·23 + 0·22 + 1·21 + 1·20 + 1·2-1 + 0·2-2 + 1·2-3 (10) =
= 8 + 0 + 1 + 1 + 0,5 + 0 + 0,125 (10) = 11,625(10) .

 

Переведення дробових чисел з виконанням арифметичних операцій в старій СЧ.

Нехай заданий правильний дріб y (s) = 0,s-1 s-2 … s1-q (s) , представлений в s -системі. Потрібно перевести його в нову h -систему.

Припустимо, дріб вже перекладений в нову СЧ. Тоді шуканий запис цього дробу в h -системі, відповідно до загального визначення систем числення, у розгорнутій формі повинний виглядати наступним чином:

z (h) = s -1·h -1 + s -2·h -2 + … + s -q·h -q + ….

Множачи ліву й праву частини останнього вираження на h, отримаємо:

z·h = s -1 + s -2·h -1 + … + s -q·hq+1 + … = s -1 + z1 .

Тут z1 = s -2·h -1 + … + s -q·hq+1 + … – дробова частина добутку;

s -1 – ціла частина добутку, що є старшою цифрою в представленні дробі z у новій h -системі (але сама ця ціла частина поки записана в s -системі, і ії потрібно додатково автономно перевести в h -систему).

Якщо тепер помножити на h правильний дріб z1, то ціла частина цього нового добутку дає наступну цифру s -2 у представленні дробі в новій h -системі, що поки сама записана в старій s -системі.

Й так далі.

 

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

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

Алгоритм перетворення дробових чисел, приведений нижче, також як і розглянутий раніше алгоритм переведення цілих чисел, призначений для роботи як в новій, так і в старій СЧ залежно від того, якою є в умові задачі десяткова СЧ – новою чи старою. Розглянемо словесну формулювання алгоритму переведення дробових чисел із довільної СЧ в десяткову та навпаки, в основу якого покладені загальні методи перетворення чисел:

1. Взяти i =1; si = s1 = s; A = 0; NД si = NД s; j = n.

2. Обчислити NДsi·h.

3. Виділити цілу NЦ si+1 і дробову NД si+1 частини результату множення.

4. Обчислити вклад поточного розряду NЦ si+1/si.

5. Обчислити поточну суму Ai+1= Ai + NЦ si+1 / si.

6. Обчислити вагу наступного розряду si = si · s.

7. Якщо A i+1 = 0, то перейти до кроку 10 (інакше до кроку 8).

8. Прийняти j = j-1.

9. Якщо j = 0, то перейти до кроку 11 (інакше до кроку 10).

10. Прийняти i = i +1 та перейти до кроку 2.

11. Прийняти NД h = a i+1 та закінчити розв’язок завдання.

Тут:

s і h – основи відповідно старої та нової СЧ, одна з яких є десятковою;

s і NД h – відповідно вихідна і результуюча дроби в старій та новій СЧ;

n – необхідна кількість значущих (ненульових) розрядів результату.

На відміну від попереднього, в даному алгоритмі використати признак рівності нулю дробової частини добутку NД si+1, як умову виходу із циклу, неможливо. Справа в тому, що початковий кінцевий дріб в новій СЧ може бути еквівалентним нескінченому результуючому дробу. А це означає, що дробова частина добутку NД si+1 навіть при якій завгодно великій кількості циклів ніколи не стане рівній нулю.

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

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

У вигляді логічної умови, яка визначає число повторів циклу з ітераційною організацією, використовуються величина накопиченої суми результату Ai+1, нульове значення якої є ознакою продовження, а ненульове – ознакою виходу з ітераційного циклу (кроки 7, 10 алгоритму).

Детермінований алгоритм організується за допомогою спеціального лічильника, в який заздалегідь заноситься необхідне число повторень циклу. Вміст цього лічильника декрементується після кожного обчислення тіла циклу аж до нуля, при досягненні якого здійснюється вихід із циклу (кроки 8, 9, 10). Принципово n може бути будь-яким великим цілим числом, однак розряди результату, отримані за межами довжини мантиси розрядної сітки, будуть загублені, хоч на їх обчислення і буде затрачено машинного часу.

Залежно від того, якою в перетвореннях виступає десяткова СЧ – новою чи старою, змінюється смислове значення кроків 2, 4, 5, 6 алгоритму.

В перетвореннях, в яких десяткова СЧ виступає старою, на 2-му кроці алгоритму визначається цифра чергового розряду результату в новій СЧ як ціла частина NЦsi+1 добутку. Кроки 4 та 5 призначені для запису одержаної цифри по визначеному знакомісцю в ряду цифр, що зображають результуюче число. На 6-му кроці підготовлюються дані для визначення знакомісця цифри наступного розряду результату.

У випадку, коли десяткова СЧ виступає в перетвореннях як нова, на 2-му кроці алгоритму виконується зсув коми праворуч на один розряд з метою наступного виділення чергового лівого розряду початкового дробу. На 4-му кроці визначається вклад даного розряду в кінцевий результат, окреме значення якого обчислюється на 5-му кроці. На 6-му кроці алгоритму підготовлюється вага наступного розряду початкового дробу для використання його в повторному циклі.

Блок-схема алгоритму переведення дробових чисел показана на рис. 2.1. Підготовчі блоки 1...4 відповідають 1-му кроку, а логічні блоки 10, 11 – відповідно крокам 7, 10 або 8, 9, 10 в словесному алгоритму.

 

 




Дата добавления: 2014-11-24; просмотров: 108 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2025 год. (0.008 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав