Professional Documents
Culture Documents
Лекція №2. Числа, системи числення, математична логіка
Лекція №2. Числа, системи числення, математична логіка
Львів - 2020
Числа, системи числення, математична логіка
Числа
• У повсякденному житті розумні істоти зустрічаються з такими задачами як
щось:
• порахувати;
• поміряти.
Системи числення
• На сьогоднішній момент формально їх можна розділити на:
•непозиційні
•позиційні
•змішані
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 3
Числа, системи числення, математична логіка
Трішки історії
• Числа первісно розвивалися з використання знаків підрахунку за допомогою
частин тіла, насамперед пальців.
• Першими цифрами були засічки на каменях чи інших поверхнях. Найдавніші
знахідки мають вік від 35 000 до 25 000 років.
використовуються у
Франції, Іспанії, їх
колишніх колоніях та
Бразилії. Позначають
числа 1 – 5, тощо.
Найчастіше
використовуються для
реєстрації балів у
карткових іграх
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 4
Числа, системи числення, математична логіка
Трішки історії
• Вавилонські цифри (від 3000 р. до н.е.)— цифри, що
використовувалися вавилонянами в своїй шістдесятковій
системі числення. Записувалися клинописом на глиняних
табличках, поки глина була ще м'яка, дерев'яною паличкою
для письма або загостреним очеретом.
• Для запису чисел використовувалися всього два знаки:
прямий клин для позначення одиниць і лежачий клин для
позначення десятків всередині шістдесяткового розряду.
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 5
Числа, системи числення, математична логіка
Трішки історії
• Єгипетська система числення — непозиційна система числення, яка вживалася в
Стародавньому Єгипті аж до початку X ст. У цій системі цифрами були
ієрогліфічні символи; вони позначали числа 1, 10, 100 і т. д. до мільйона. Числа,
не кратні 10, записувалися шляхом повторення цих цифр. Кожна цифра могла
повторюватися від одного до 9 разів.
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 6
Числа, системи числення, математична логіка
Трішки історії
• Римська система числення, або Римські цифри (від Х ст. до н.е.)—
непозиційна система числення, базується на використанні особливих знаків
(літер латинської абетки) для десяткових розрядів
I = 1, X = 10, С = 100, М = 1000 та їх половин V = 5, L = 50, D = 500.
Числа записуються за допомогою повторення цих цифр. При цьому, якщо
більша цифра стоїть перед меншою, то вони додаються (принцип
додавання), якщо ж менша перед більшою, то менша віднімається від
більшої (принцип віднімання). Останнє правило застосовується тільки для
уникнення чотириразового повторення однієї цифри. Було введене в XIX ст.
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 7
Числа, системи числення, математична логіка
Трішки історії
• Індо-арабська система
числення - є позиційною
десятковою системою
числення, розроблена у
I-IV століттях
індійськими
математиками. Цифри
виникли в Індії і в X-XIII
ст. були занесені в
Європу арабами, через
що часто згадуються як
«арaбські»
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 8
Числа, системи числення, математична логіка
Трішки історії
• Нуль — друга особливість арабської системи цифр. Є дані, які вказують, що
шумери використовували у своїй шістдесятковій системі числення знак, що
мав зміст нуля. Однак знайдено лише кілька записів, що містять цей знак. У
арабській системі нуль є важливим елементом, оскільки при позиційній
системі числення недопустимим є пропуск розряду.
ІІІ-VІІ століття
ІХ століття
Сьогодні
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 9
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 10
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 11
Числа, системи числення, математична логіка
Математична логіка
• Джордж Буль - британський математик і філософ,
формалізував алгебру логіки (Булева алгебра, Булева
логіка, двійкова логіка, двійкова алгебра, англ. Boolean
algebra) - розділ математичної логіки, що вивчає
систему логічних операцій над висловлюваннями.
• В алгебрі логіки значенням змінних є значення
істинності істина або хибність, які як правило
визначаються як 1 і 0 відповідно.
• У 1854 р. побачив світ основний твір Буля
«Дослідження законів думки, на яких засновані
математичні теорії логіки й імовірності»:
якщо x="рогаті", а y="вівці", то послідовний
вибір x і y дасть клас рогатих овець
• Буль показав, що символіка такого роду підкоряється тим же законам, що й
алгебраїчна, з чого випливало, що словесні, чи то логічні вирази можна
"додавати", "віднімати", "множити" й навіть "ділити". У такій символіці
висловлювання можуть бути зведені до форми рівнянь.
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 12
Числа, системи числення, математична логіка
Математична логіка
• На відміну від елементарної алгебри, в якій значеннями змінних є числа, а
основними операціями є додавання і множення, основними операціями
Булевої алгебри є кон'юнкція (операція І, еквівалент множення) -
позначається як ∧, диз'юнкція (операція АБО, еквівалент додавання) -
позначається як ∨, і заперечення (операція НІ) позначається як ¬. Таким
чином формалізм для описання логічних відношень є аналогічним тому, як
описуються числові відношення у елементарній алгебрі.
• В той час як в елементарній алгебрі
вирази як правило виражаються в числах,
в алгебрі логіки вони виражають
значення істинності висловлювання –
"істина" і "хибність". Ці значення задають
за допомогою біт (або двійкових чисел,
англ. binary digit - bit), а саме 0 та 1.
Алгебра логіки також вивчає функції, що
приймають значення в множині ,0, 1-.
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 13
Числа, системи числення, математична логіка
Математична логіка
• кон'юнкцію можна визначити через операції заперечення та диз'юнкцію, і
навпаки (правила де Моргана):
• еквівалентність:
• виключна диз'юнкція
(часто задається як абревіатура XOR):
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 14
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 15
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 16
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 17
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 18
Числа, системи числення, математична логіка
Мікропроцесор Intel-8080
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 19
Числа, системи числення, математична логіка
Трійкове числення
• Трійковий комп'ютер (англ. ternary або англ. trinary computer) — комп'ютер,
який використовує для проведення обчислень тризначну логіку замість більш
поширеної бінарної логіки. За аналогією з бітом, трійковою цифрою є трит (англ.
trinary digit).
• При додаванні тритів у трійкових півсуматорах і суматорах кількість додавань
приблизно в 1,5 разу менша, ніж при додаванні бітів у бінарних півсуматорах та
суматорах і, отже, швидкодія при додаванні приблизно в 1,5 разу більша.
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 20
Числа, системи числення, математична логіка
Трійкове числення
• Для зображення цілих чисел від 1 до 9999 у десятковій системі достатньо
чотирьох розрядів, тобто чотирьох елементів. Оскільки кожен елемент може
перебувати в десятьох станах, то загальна кількість станів – 40,
• у двійковій системі числення: 999910=100111000011112, необхідна кількість
станів – 28.
• 999910=1112011003, необхідна кількість станів – 27.
• Так, для запису цілих чисел від 1 до 109 у десятковій системі числення
потрібно 90 станів,
• у двійковій – 60,
• у трійковій – 57, що робить її оптимальнішою за двійкову.
• Але трійкова система числення не дістала поширення внаслідок труднощів
фізичної реалізації.
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 21
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 22
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 24
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 25
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 26
Числа, системи числення, математична логіка
• з вісімкової в десяткову:
• з двійкової в десяткову:
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 28
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 29
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 30
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 31
Числа, системи числення, математична логіка
Двійково-десятковий код
• Двійково-десятковий код (ДДК, BCD, binary-coded decimal) — спосіб представлення
десяткового числа, у якому кожній цифрі відповідає певна послідовність двійкових розрядів.
Цей код спрощує ввід/вивід числа у десятковому вигляді, використовується у калькуляторах та
при роботі над числами з нерухомою комою (наприклад, з грішми) для забезпечення
належної точності підрахунків. Реалізація BCD-арифметики досить проста, тому вона присутня
у наборах інструкцій майже всіх мікропроцесорів та мікроконтролерів.
• Найпростішим варіантом є 8421-ДДК (BCD), який означає, що кожна цифра десяткового числа
записується своїм двійковим представленням з доповненням нулями до 4 розрядів (тетрада).
Наприклад, число 309110, при кодуванні у 8421-ДДК буде виглядати як
0011 0000 1001 0001 8421-ДДК
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 32
Числа, системи числення, математична логіка
Двійково-десятковий код
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 33
Числа, системи числення, математична логіка
•Цілі
•Нецілі
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 36
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 37
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 38
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 39
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 40
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 41
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 42
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 43
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 44
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 45
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 46
Числа, системи числення, математична логіка
Вікно повідомляє нам, між якими двома послідовними ступенями двійки буде число:
*0,1+, *1,2+, *2,4+, *4,8+ і так далі (аж до *2127,2128+. Зміщення розділяє вікно на
223 = 8388608 сегментів. За допомогою вікна і зміщення можна апроксимувати число.
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 47
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 48
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 49
Числа, системи числення, математична логіка
Денормалізовані числа. Це числа, мантиси яких лежать в діапазоні 0.1 <= M <1. Вони
знаходяться ближче до нуля, ніж нормалізовані. Зроблено так тому, що в технічній
практиці частіше зустрічаються величини близькі до нуля.
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 50
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 51
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 52
Числа, системи числення, математична логіка
Правило множення:
1. Скласти порядки операндів і відняти від результату значення 127.
2. Перемножити мантиси і визначити знак результату.
3. У разі необхідності нормалізувати результат.
Правило ділення:
1. Відняти порядок дільника з порядку діленого і додати до результату
значення 127.
2. Розділити мантиси і визначити знак результату.
3. У разі необхідності нормалізувати результат.
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 53
Числа, системи числення, математична логіка
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 55
Числа, системи числення, математична логіка
Квантовий комп’ютер
Квантовий комп'ютер — фізичний
обчислювальний пристрій, функціонування
якого ґрунтується на принципах квантової
механіки, зокрема, принципі суперпозиції
та явищі квантової заплутаності. Такий
пристрій відрізняється від звичайного
транзисторного комп'ютера зокрема тим,
що класичний комп'ютер оперує даними,
закодованими у двійкових розрядах
(бітах), кожен з яких завжди перебуває в
одному з двох станів (0 або 1), коли
квантовий комп'ютер використовує
квантові біти (кубіти), які можуть
знаходитися у суперпозиції станів.
Алгоритмізація та програмування, частина 1. Лектор – асист. каф. САПР, к.т.н.Яворський Н.Б., Львів, 2020 57