Реферати

Реферат: Системи числення

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

Режисура в культурно-досуговой діяльності. Педагогічний^-історико-педагогічний аспект розвитку культурно-досуговой діяльності і характеристика її функціонального різноманіття. Основні напрямки і види діяльності установ культури. Режисура як основний метод соціально-педагогічного впливу.

Особливості кадрового аудита. Сутність і задачі кадрового аудита; його роль у процесі керування персоналом. Опис цілей проведення експертизи внутрікорпоративних комунікацій. Розробка стратегії имиджевого позиционирования фірми. Різновиди і специфіка репутационного аудита.

Оцінка якості природних і напівсинтетичних антибіотиків. Хімічна будівля і хімічний^-фізико-хімічні властивості пенициллинов; реакції дійсності. Утворення пенилловой і пенициленовой кислот, їхнє використання в аналізі. Цефалоспорини, аминогликозиди; іспиту на чистоту; фармакокінетика, побічні дії.

Інформатика як наука. Поняття інформаційної культури. Призначення і характеристики кеш-пам'яті. Каталог і його призначення у файловій системі. Особливості користувальницького графічного інтерфейсу. Структура і принцип роботи оператора циклу For. Побудова діаграми з областями.

Походження і історія розвитку систем числення

1.1 Межі рахунку

На ранніх рівнях розвитку суспільства люди майже не уміли вважати. Вони відрізняли один від одного сукупності двох і трьох предметів; всяка сукупність, що містила більше число предметів, об'єднувалася в понятті «багато». Це був ще не рахунок, а лише його зародок.

Згодом здатність розрізнювати один від одного невеликі сукупності розвивалася; виникли слова для позначень понять «чотири», «п'ять», «шість», «сім». Останнє слово тривалий час означало також невизначено велика кількість. Наші прислів'я зберегли пам'ять про цю епоху («сім разів відміряй - один раз відріж», «у семи няньок дитяти без оку», «сім бід - одна відповідь» і т. д.).

З ускладненням господарської діяльності людей знадобилося вести рахунок в більш обширних межах. Для цього людина користувалася його предметами, що оточували, як інструментами рахунку: він робив зарубки на палицях і на деревах, зав'язував вузли на вірьовках, складав камінчики в купки і т. п. Такий вигляд рахунку носить названиеунарной системи числення, т. е. система числення, в якій для запису числа застосовується тільки один вигляд знаків. Це зручне, оскільки відразу візуально визначається кількість знаків і зіставляється з кількістю предметів, які ці знаки означають. Всі ми ходили в перший клас і вважали там на рахункових паличках - це відгомін тієї далекої епохи. До речі, від рахунку за допомогою камінчиків ведуть свій початок різні вдосконалені інструменти, як, наприклад, російські счети, китайські счети («сван-пан»), древнеегипетский «абак» (дошка, розділена на смуги, куди клалися жетони). Аналогічні інструменти існували у багатьох народів. Більш того в латинській мові поняття «рахунок» виражається словом «calculatio» (звідси наше слово «калькуляція»); а відбувається воно від слова «calculus», що означає «камінчик».

Особливо важливу роль грав природний інструмент людини - його пальці. Цей інструмент не міг тривало зберігати результат рахунку, але зате завжди був «під рукою» і відрізнявся великою рухливістю. Мова первісної людини була бідна; жести відшкодовували нестачу слів, і числа, для яких ще не було назв, «показувалися» на пальцях.

Тому, цілком природно, що назви «великих» чисел, що знову виникали часто будувалися на основі числа 10 - по кількості пальців на руках; у деяких народів виникали також назви чисел на основі числа 5 - по кількості пальців на одній руці або на основі числа 20 - по кількості пальців на руках і ногах.

На перших часах розширення запасу чисел відбувалося повільно. Спочатку люди оволоділи рахунком в межах декількох десятків і лише пізніше дійшли до сотні. У багатьох народів число 40 довгий час було межею рахунку і назвою невизначено великої кількості. У російській мові слово «стонога» має значення «багатоніжка»; вираження «сорок сороков» означало в старовину число, перевершуюче всяка уява.

На наступному рівні рахунок досягає нової межі: десяти десятків, і створюється назва для числа 100. Разом з тим слово «сто» придбаває значення невизначено великого числа. Таке ж значення придбавають потім послідовно числа тисяча, десять тисяч (в старовину це число називалося «пітьма»), мільйон.

На сучасному етапі межі рахунки визначені терміном «нескінченність», який не означає яке небудь конкретне число.

1.2 Десятерична система числення

В сучасній російській мові, а також в мовах інших народів назви всіх чисел до мільйона складаються з 37 слів, вказуючих числа 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000 (наприклад, вісімсот п'ятнадцять тисяч триста дев'яносто чотири). У свою чергу назви цих 37 чисел, як правило, освічені з назв чисел першого десятка (1, 2, 3, 4, 5, 6, 7, 8, 9) і чисел 10, 100, 1000 (наприклад, 18 = вісім на десять, 30 = тридесять і т. д.). У основі цього словотворення лежить число десять, і тому наша система найменувань називається десятеричною системою числення.

З згаданого правила в різних мовах є різні виключення, що пояснюються історичними особливостями розвитку рахунку. У російській мові єдиним виключенням є найменування «сорок». Це виключення можна поставити в зв'язок з тим, що число 40 грало ніколи особливу роль, означаючи невизначено велику кількість.

У тюркских мовах (узбецькому, казахському, татарському, башкирському, турецькому і інш.) виключення складають найменування чисел 20, 30, 40, 50, тоді як назви чисел 60, 70, 80, 90 освічені з найменувань для 6, 7, 8, 9. У французькій мові збереглися недесятеричні назви чисел 20 і 80, причому 80 именуетсяquatrevingt, т. е. «чотири двадцять». Тут ми маємо залишок древнього двадцатеричного числення (по числу пальців на руках і ногах). У латинській мові найменування числа 20 також недесятеричне (viginti). Найменування чисел 18 і 19 освічені з назви 20 за допомогою віднімання: 20-2 і 20-1 (duodeviginti, undeviginti, т. е. «два від двадцяти», «один від двадцяти»).

1.3 Розвиток поняття числа

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

Так, у вавілонській системі мір ваги (і грошей) 1 талант становив 60 мін, а одна міна - 60 шекелей. Відповідно з цим у вавілонській математиці широко вживалися шестидесятиричние дробу. У древнеримской ваговій (і грошової) системі 1 асс ділився на 12 унцій; згідно з цим римляни користувалися двенадцатиричними дробями.

Наші «звичайні дробу» широко вживалися древніми греками і індійцями. Правила дій з дробями, викладені індійським вченим Брамагуптой (VIII повік н. е.), лише небагато чим відрізняються від наших. Наш запис дробей також співпадає з індійською; тільки дробової межі індійці не писали; греки записували зверху знаменник, а знизу чисельник.

Індійської позначення дробей і правила дій над ними були засвоєні в IX віці в мусульманських країнах завдяки узбецькому вченому Мухаммеду Хорземському (аль-Хваризми). Вони були перенесені в Західну Європу італійським купцем і вченим Леонардо Фібоначчи з Пізи (XIII повік).

Поряд із «звичайними» дробями до XVII віку застосовувалися (переважно в астрономії) шестидесятиричние дробу. Вони були витіснені десятеричними дробями, введеними голландським купцем і видатним інженером-вченим Симоном Стевіном (1548 - 1620).

Надалі виявилося необхідним ще більше розширити поняття числа; послідовно з'явилися числа ірраціональні, негативні і комплексні.

Досить пізно до сім'ї чисел приєднався нуль. Спочатку слово «нуль» означало відсутність числа (буквальне значення латинського словаnullum- «ніщо»). Для того щоб це «ніщо» вважати числом, з'явилися основи лише в зв'язку з розглядом негативних чисел.

1.4 Системи нумерації деяких народів

1.4.1 Древньогрецький нумерація

В древнейшее час в Греції була поширена т. н. аттическая нумерація. Числа 1, 2, 3, 4 означалися рисками,,,. Число 5 записувалося знаком (древнє зображення букви «пі», з якою починається слово «пенте» - п'ять); числа 6, 7, 8, 9 означалися,,,. Число 10 означалося (початковою буквою слова «дека» - десять). Числа 100, 1000 і 10000 означалися,,. Числа 50, 500, 5000 означалися комбінаціями знаків 5 і 10, 5 і 100, 5 і 1000. Загальний запис чисел в аттической нумерації ілюструє приклад 1.1.

Приклад 1.1 Запис чисел в аттической системі числення,,,.

У третьому віці до н. е. аттическая нумерація була витіснена так називаемойионийской системою. У ній числа 1 - 9 означалися першими дев'ятьма буквами алфавіта; числа 10, 20, 30,. .., 90 - наступними дев'ятьма буквами; числа 100, 200,. .., 900 - останніми дев'ятьма буквами.

Таблиця 1.1 Позначення чисел в ионийской системі нумерації

позначення

Назва

Значення

Позначення

Назва

Значення

Позначення

Назва

Значення

Альфа

1

Йота

10

Ро

100

Бета

2

Каппа

20

Сигма

200

Гамма

3

Лямбда

30

Тау

300

Дельта

4

Мю

40

Іпсилон

400

Епсилон

5

Ню

50

Фі

500

Фауб

6

Кси

60

Хи

600

Дзета

7

Омікрон

70

Пси

700

Ця

8

Пі

80

Омега

800

Тета

9

Коппа

90

Сампі

900

Потрібно відмітити, що букви «фау», «коппа» і «сампи» відсутні в сучасному грецькому алфавіті.

Для позначення тисяч і десятків тисяч користувалися тими ж цифрами з додаванням особливого значка'сбоку.

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

Приклад 1.2 Запис чисел в ионийской системі числення,,,,.

Таку ж алфавітну нумерацію мали в древності євреї, араби і багато які інші народи Ближнього Сходу.

1.4.2 Слов'янська нумерація

Південні і східні слов'янські народи для запису чисел пользовалисьалфавитной нумерацією. У одних слов'янських народів числові значення букв встановилися в порядку слов'янського алфавіта, у інших же (в тому числі у росіян) роль цифр грали не всі букви, а тільки ті, які є в грецькому алфавіті. Над буквою, що означала цифру, ставився спеціальний значок: («титло»).

Таблиця 1.2 Позначення чисел в древнеславянской системі нумерації

Позначення

Назва

Значення

Позначення

Назва

Значення

Позначення

Назва

Значення

Аз

1

І

10

Рци

100

Веди

2

По-якому

20

Слово

200

Глаголь

3

Люди

30

Твердо

300

Добро

4

Мислите

40

Ук

400

Є

5

Наш

50

Ферт

500

Зело

6

Кси

60

Хер

600

Земля

7

Він

70

Пси

700

Іже

8

Спокій

80

Омега

800

Фіта

9

Черв'як

90

Ци

900

В Росії слов'янська нумерація збереглася до кінця XVII віку. При Петрові I возобладала так звана «арабська нумерація», якою ми користуємося і зараз. Слов'янська нумерація зберігалася тільки в богослужебних книгах. У таблиці 1.2 приведені слов'янські цифри.

При записі чисел, великих 10, цифри писалися зліва направо в порядку убування десятеричних розрядів (однак іноді для чисел від 11 до 19 одиниці записувалися раніше десяти). Для позначення тисяч перед числом їх (зліва внизу) ставився особливий знак.

Приклад 1.3 ілюструє написання чисел в слов'янській системі нумерації.

Приклад 1.3 Запис чисел в древнеславянской системі числення,,,.

1.4.3 Римська нумерація

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

У пізнішому своєму вигляді римські цифри виглядають так:,,,,,,.

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

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

Приклад 1.4 Запис чисел римськими цифрами,,,.

Виконання арифметичних дій над багатозначними числами в цьому записі дуже громіздке і важке. Проте римська нумерація переважала в Італії до XIII віку, а в інших країнах Західної Європи - до XVI віку.

1.4.4 Вавілонська помісна нумерація

В древньому Вавілоне приблизно за 40 віків до нашого часу создаласьпоместная (позиційна) нумерація, т. е. такий спосіб зображення чисел, при якому одна і та ж цифра може означати різні числа, дивлячись по місцю, займаному цією цифрою. Наша теперішня нумерація - також помісна, однак у вавілонській помісній нумерації ту роль, яку грає у нас число 10, грало число 60, і тому цю нумерацію називають шестидесятиричной. Числа, менші 60, означалися за допомогою двох знаків: для одиниці і для десятка. Вони мали клиноподібний вигляд, оскільки вавилоняне писали на глиняних дощечках паличками трикутної форми. Ці знаки повторювалися потрібне число разів. При відсутності проміжного розряду застосовувався знак. Запис чисел до 60 показаний в прикладі 1.5. Спосіб позначення чисел, великі 60 зведений в таблицю 1.3.

Приклад 1.5 Запис вавілонським клинописом чисел до 60,,,.

Таблиця 1.3 Запис вавілонським клинописом чисел, великі 60

Позначення

Значення

Спосіб освіти

302

1295

3725

7203

Шестідесятірічная запис цілих чисел не набула поширення за межами ассиро-вавілонського царства, але шестидесятиричние дробу проникли далеко за цю межі: в країни Середнього Сходу, Середньої Азії, в Північну Африку і Західну Європу. Вони широко застосовувалися, особливо в астрономії, аж до винаходу десятеричних дробей. Сліди шестидесятиричних дробей зберігаються і понині в діленні кутового і дугового градуса (а також години) на 60 хвилин і хвилини на 60 секунд.

1.4.5 Індійська помісна нумерація

В різних областях Індії існували різноманітні системи нумерації. Одна з них розповсюдилася по всьому світу і в цей час є загальноприйнятою. У ній цифри мали вигляд початкових букв відповідних числівників на древнеиндийском мові - санскриті (алфавіт «деванагари»).

Спочатку цими знаками представлялися числа 1, 2, 3,. .., 9, 10, 20, 30,. .., 90, 100, 1000; з їх допомогою записувалися інші числа. Згодом був введений особливий знак (жирна точка або гурток) для вказівки розряду, що є порожнім; знаки для чисел, великі 9, вийшли з вживання, і нумерація «деванагари» перетворилася в десятеричну помісну систему. До середини VIII віку позиційна система нумерації отримує в Індії широке застосування. Приблизно в цей час вона проникає і в інші країни (Індокитай, Китай, Тібет, в Іран і інш.). Вирішальну роль в поширенні індійської нумерації в арабських країнах зіграло керівництво, складене на початку IX століття узбецьким вченим Мухаммедом з Хорезма (аль-Хваризми). Воно було переведене в Західній Європі на латинську мову в XII віці. У XIII віці індійська нумерація отримує переважання в Італії. У інших країнах Західної Європи вона затверджується в XVI віці. Європейці, що запозичали індійську нумерацію від арабів, називали її «арабської». Ця історично неправильна назва утримується і понині.

З арабської мови запозичено і слово «цифра» (по-арабському «сифр»).

Форма індійських цифр зазнавала багатоманітних змін. Та форма, в якій ми їх пишемо зараз, встановилася в XVI віці.

2 Основні поняття і визначення

Вище ми говорили про системи числення, не вдаючись в подробиці цього поняття. Яке ж наукове визначення системи числення?

Системою счисленияназивают систему прийомів і правил, що дозволяють встановлювати взаимно-однозначное відповідність між будь-яким числом і його представленням у вигляді сукупності кінцевого числа символів. Безліч символів, що використовуються для такого уявлення, називаютцифрами.

У залежності від способу зображення чисел за допомогою цифр системи числення діляться напозиционниеинепозиционние.

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

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

У обчислювальній техніці непозиційні системи не застосовуються.

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

Кількості і кількісні складові, існуючі реально можуть відображатися різними способами. У загальному випадку в позиційній системі числення числоNможет бути представлено як:,

де: (2.1)

- основа системи числення (ціле позитивне число, рівне числу цифр в даній системі);

- будь-які цифри з інтервалу від нуля до.

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

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

Приклад 2.1 Спосіб утворення десятеричного числа

Для десятеричної системи відповідності між позицією і вагою наступне:

(2.2)

в загальному випадку:

(2.3)

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

Обчислювальні машини в принципі можуть бути побудовані в будь-якій системі числення. Але так звична для нас десятерична система виявиться надто незручною. Якщо в механічних обчислювальних пристроях, що використовують десятеричну систему, досить просто застосувати елемент з безліччю станів (колесо з десятьма зубьями), то в електронних машинах треба було б мати 10 різних потенціалів в ланцюгах.

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

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

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

3.1 Історія виникнення двійкової системи числення

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

Історія розвитку двійкової системи числення - одна з яскравих сторінок в історії арифметики. Офіційне «народження» двійкової арифметики зв'язують з ім'ям Г. В. Лейбніца, що опублікував статтю, в якій були розглянуті правила виконання всіх арифметичних операцій над двійковими числами. До початку тридцятих років XX віку двійкова система числення залишалася поза полем зору прикладної математики. Потреба в створенні надійних і простих по конструкції рахункових механічних пристроїв і простота виконання дій над двійковими числами привели до більш глибокому і активному вивченню особливостей двійкової системи як системи, придатної для апаратної реалізації. Перші двійкові механічні обчислювальні машини були побудовані у Франції і Німеччині. Затвердження двійкової арифметики як загальноприйнята основа при конструюванні ЕОМ з програмним управлінням відбулося під безперечним впливом роботи А. Бекса, Х. Гольдстайна і Дж. Фон Неймана про проект першій ЕОМ з програмою, що зберігається в пам'яті, написаною в 1946 році. У цій роботі найбільш аргументированно обгрунтовані причини відмови від десятеричної арифметики і переходу до двійкової системи числення як основи машинної арифметики.

3.2 Основні поняття машинної арифметики

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

Отвір є або відсутній (перфолента або перфокарта);

Матеріал намагнічений або розмагнічений (магнітні стрічки, диски);

Рівень сигналу великий або маленький.

Існують спеціальні терміни, що широко використовуються в обчислювальній техніці: біт, байтислово.

Бітом називають один двійковий розряд. Крайній зліва біт числа називаютстаршим розрядом (він має найбільшу вагу), крайній праворуч - молодшим розрядом (він має найменшу вагу).

Восьмибитовая одиниця носить назву байта.

Багато які типи ЕОМ і дискретних систем управління переробляють інформацію порціями (словами) по 8, 16 або 32 біта (1, 2 і 4 байти). Двійкове слово, що складається з двох байт, показане на мал. 3.1.

Рис. 3.1 Біт, байт і слово

4 Взаємний переклад двійкових і десятеричних чисел і елементарні двійкові арифметичні дії

4.1 Представлення двійкових чисел і переклад їх в десятеричні

Абсолютно очевидно, що двійкове число представляється послідовністю нулів і одиниць - розрядів. Як і в будь-якій позиційній системі, кожному розряду привласнена певна вага - показник міри основи системи. Ваги перших 10 позицій представлені в таблиці 4.1.

Таблиця 4.1 Ваги перших десяти позицій двійкової системи числення

Позиція

9

8

7

6

5

4

3

2

1

0

Вага

512

256

128

64

32

16

8

4

2

1

Утворення

В двійковій системі числення навіть порівняно невеликі числа займають багато позицій.

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

Отримати десятеричне число з двійкового надзвичайно просто. Згідно з формулою 2.3 для двійкової системи числення отримуємо:

(4.1)

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

Приклад 4.1 Переклад двійкового числав десятеричне

4.2 Перетворення десятеричних чисел в двійкові

Переклад з двійкової системи в десятеричну дещо складніше. Розглянемо декілька алгоритмів.

4.2.1 Метод віднімання

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

Приклад 4.2 Переклад десятеричного числав двійкове методом віднімання

4.2.2 Метод ділення

Іншим методом є так званий метод ділення. Він застосовується для перетворення цілих чисел. Нижче приведений його алгоритм.

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

Приклад 4.3 Переклад десятеричного числав двійкове методом ділення

2

148

- 74

2

1

74

- 37

2

0

36

- 18

2

1

18

- 9

2

0

8

- 4

2

1

4

- 2

2

0

2

- 1

2

0

0

0

1

старший розряд

(10010101) 2 =(149) 10

 відповідь

4.2.3 Метод множення

І, нарешті, метод множення. Метод застосовується для перетворення десятеричних дробей (чисел менших одиниці).

Число множиться на 2, якщо результат1, то в старший розряд записується одиниця, якщо немає, то нуль. Множимо на 2 дробову частину результату і повторюємо процедуру. І так далі до отримання потрібної міри точності або до обнулення результату.

Приклад 4.4 Переклад десятеричного числав двійкове методом множення

4.3 Арифметичні дії над двійковими числами

Арифметик двійкової системи числення заснована на використанні таблиць складання, віднімання і множення. Ці таблиці надзвичайно прості:

Таблиця

складання

0

+

0

=

0

0

+

1

=

1

1

+

0

=

1

1

+

1

=

10

Таблиця

множення

0

*

0

=

0

0

*

1

=

0

1

*

0

=

0

1

*

1

=

1

Таблиця

віднімання

0

-

0

=

0

1

-

0

=

1

1

-

1

=

1

10

-

1

=

1

4.3.1 Двійкове складання

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

Приклад 4.5 Складання двійкових чисели

+

101101

111110

010011

- поразрядная сума без урахування перенесень

+

1011000

- перенесення

0010011

1001011

- поразрядная сума без урахування повторних перенесень

+

0100000

- повторні перенесення

1001011

1101011

- остаточний результат

Легко зробити перевірку:,,,.

Приклад 4.6 Складання двійкових чисели

+

110,

1011

10111,

10101

10001,

00011

- поразрядная сума без урахування перенесень

+

11 1,

1

- перенесення

10001,

00011

11100,

01011

- поразрядная сума без урахування повторних перенесень

+

1,

- повторні перенесення

11100,

01011

11110,

01011

- остаточний результат

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

4.3.2 Двійкове віднімання

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

Приклад 4.7 Віднімання двійкових чисели

-

11010,

1011

1101,

01111

1101,

00111

Кінцеве, математично віднімання виконати нескладне. Однак, якщо поступати таким чином, то наприклад в ЕОМ доведеться для виконання складання і віднімання мати два блоки: суматор і вичитатель. Тому поступають таким чином: віднімання можна представити як складання позитивного і негативного чисел, необхідне тільки відповідне уявлення для негативного числа.

Розглянемо четирехразрядний десятеричний лічильник, які в автомобілі відлічують пройдений шлях. Нехай він показує число 2, якщо обертати його в зворотному напрямі, то спочатку з'явиться 1, потім 0, після 0 з'явиться число 9999. Складемо, наприклад, 6 з цим числом:

+

6

9999

10005

Якщо нехтувати одиницею перенесення і вважати 9999 аналогом -1, то отримаємо вірний результат:.

Число 9999 називаетсядесятичним дополнениемчисла 1. Таким чином, в десятеричній системі числення негативні числа можуть бути представлені в формі десятеричного доповнення, а знак мінус можна опустити.

Двоичноедополнениечислаопределяется як те число, яке будучи додано до первинного числа, дасть тільки одиницю перенесення в старшому розряді.

Приклад 4.8 Двійкове доповнення числа

+

010101111

- число

101010001

- двійкове доповнення

1000000000

- сума

 - одиниця перенесення

Для отримання двійкового доповнення необхідно:

отримати зворотний код, який утвориться інвертуванням кожного біта:

010101111

- число

101010000

- зворотний код

додати до зворотного коду одиницю, утворивши таким чином додатковий код:

+

101010000

- зворотний код

1

101010001

- додатковий код

Приклад 4.9 Віднімання в додатковому коді

- зворотний код,

- додатковий код.

1001012=510(вірно).

4.3.3 Двійкове множення

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

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

Множення проводиться, починаючи з молодшого або старшого розряду множника, що і визначає напрям зсуву. Якщо співмножники мають дробові частини, то положення коми в творі визначається за тими ж правилами, що і для десятеричних чисел.

Приклад 4.10 Множення двійкових чисели

4.3.4 Двійкове ділення

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

Приклад 4.11 Ділення двійкових чисел

1) 18:2

2) 14:4

10010

10

1110

100

10

1001=(9) 10

100

11,1=(3,5) 10

00

110

00

100

001

100

000

100

10

0

10

00

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

5 Представлення чисел в ЕОМ, кодування

5.1 Представлення чисел з фіксованою і плаваючою комою

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

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

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

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

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

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

Розглянемо детальніше ці два формати.

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

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

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

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

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

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

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

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

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

(5.1)

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

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

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

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

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

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

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

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

5.2 Прямий, зворотний і додатковий коди. Модифікований код

При розгляді елементарних арифметичних операцій над двійковими числами ми вже торкнулися теми негативних двійкових чисел. Тепер розглянемо її детальніше.

Для кодування знака двійкового числа використовується старший ( "знаковий") розряд (нуль відповідає плюсу, одиниця - мінусу).

Така форма представлення числа називаетсяпрямим кодом.

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

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

для утворення додаткового коду негативного числа необхідно в знаковому розряді поставити одиницю, а всі цифрові розряди інвертувати (замінити 1 на 0, а 0 - на 1), після чого додати 1 до молодшого розряду;

для утворення зворотного коду негативного числа необхідно в знаковому розряді поставити одиницю, а всі цифрові розряди інвертувати;

при даних перетвореннях треба враховувати розмір розрядної сітки.

Прямий код можна отримати з додаткового і зворотного за тими ж правилами, які служать для знаходження додаткового і зворотного кодів.

У таблиці 5.1 приведені десятеричні числа і їх двійкові уявлення в трьох різних формах. Цікаво в ній ось що. Якщо почати рахунок з числа 1000 (-8) і рухатися вниз по стовпцях, то в додатковому коді кожне подальше число виходить додаванням одиниці до попереднього без урахування перенесення за межі четвертого розряду Так просто цю операцію в прямому і зворотному кодах не здійснити. Ця особливість додаткового коду і з'явилося причиною предпочтителного застосування його в сучасних мікро і миниЕВМ.

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

Таблиця 5.1 Прямий, зворотний і додатковий коди.

Десятеричне

число

Прямий

код

Зворотний

код

Додатковий

код

-8

-

-

1000

-7

1111

1000

1001

-6

1110

1001

1010

-5

1101

1010

1011

-4

1100

1011

1110

-3

1011

1100

1101

-2

1010

1101

1110

-1

1001

1110

1111

0

1000

0000

1111

0000

0000

1

0001

0001

0001

2

0010

0010

0010

3

0011

0011

0011

4

0100

0100

0100

5

0101

0101

0101

6

0110

0110

0110

7

0111

0111

0111

Приклад 5.1 Двійкове складання в додатковому коді

1)

+

+2

+

0010

2)

+

- 2

+

1110

3)

+

+5

+

0101

+5

0101

-6

1010

-4

1100

+7

0111

-8

1000

+1

0001

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

З приведених прикладів слідує, що позитивні числа в прямому, зворотному і додатковому кодах співпадають. У прямому і зворотному коді нуль має два уявлення - «позитивний» і «негативний» нуль.

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

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

При складанні чисел, менших одиниці, в машині бути отримані числа, по абсолютній величині великі одиниці. Для виявлення переповнення розрядної сітки в ЕОМ применяютсямодифицированние прямий, зворотний і додатковий коди. У цих кодах знак кодується двома розрядами, причому знаку "плюс" відповідає комбінація 00, а знаку "мінус" - комбінація 11.

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

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

5.3 Двійково-десятеричне кодування

Для здійснення автоматичного перекладу десятеричних чисел в двійкову систему числення необхідно спочатку якимсь чином ввести їх в машину, Для цієї мети звичайно використовується двійково-десятеричний запис чисел або представлення цих чисел в кодах ASCII.

При двійково-десятеричному записі кожна цифра десятеричного числа замінюється чотиризначним двійковим числом - тетрадой (таблиця 5.2).

Таблиця 5.2 Найбільш поширені двійково-десятеричні коди чисел від 0 до 9

Десятеричне число

Двійково-десятеричний код (8421)

Код Айкена (2421)

Код «з лишком 3»

0

1

2

3

4

5

6

7

8

9

0

0

0

0

0

0

0

0

1

1

0

0

0

0

1

1

1

1

0

0

0

0

1

1

0

0

1

1

0

0

0

1

0

1

0

1

0

1

0

1

0

0

0

0

0

1

1

1

1

1

0

0

0

0

1

0

1

1

1

1

0

0

1

1

0

1

0

0

1

1

0

1

0

1

0

1

0

1

0

1

0

0

0

0

0

1

1

1

1

1

0

1

1

1

1

0

0

0

0

1

1

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

1

0

1

0

Наприклад, число в двійково-десятеричному коді записується у вигляді 0011 0110 0000. Для виконання складання і віднімання двійково-десятеричних чисел найбільш зручно використати самодополняющиеся коди, до числа яких відносяться код Айкена, код “ з лишком 3 ”. Код Айкена відрізняється від звичайного двійково-десятеричного, що має вагові коефіцієнти розрядів в тетрадах 8421, іншими значеннями вагових коефіцієнтів розрядів: 2421. Код “ з лишком 3” виходить із звичайного двійково-десятеричного арифметичним додаванням числа 3 (двійкове число 0011).

Як видно з таблиці 5.2 зворотний код числа, представленого в якому-небудь самодополняющемся двійково-десятеричному коді, є його двійковим доповненням до 9. Наприклад, число 5 в коді «з лишком 3» =1000 має зворотний код =0111, відповідний числу 4 в коді «з лишком 3», яке «доповнює» число 5 до 9, оскільки 5+4=9.

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

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

6 Алгебраїчні дії над числами з плаваючою і фіксованою комою

6.1 Складання чисел з фіксованою комою

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

Алгебраїчне складання многоразрядних чисел звичайно організується як регулярний процес, що перебуває изnодинакових операцій поразрядного складання-віднімання, гдеn- кількість розрядів в кожному з операндів).

При цьому в залежності від знаків складових можливі чотири випадки:

1) Х1 > 0, Х2 > 0, Х3= Х1+ Х2 > 0;

2) Х1 > 0, Х23= Х1+ Х2 > 0;

3) Х1 > 0, Х23= Х1+ Х2

4) Х123= Х1+ Х2

6.2 Складання чисел з плаваючою комою

Якщо є два числа в нормальній формі: Х1=m110P1иХ2=m210P2, то для того щоб їх можна було скласти, потрібне заздалегідь привести їх до одному і того ж порядкуРобщ, т. е. перетворити один з доданків, наприклад, перше таким чином:

Х1=m110P1=m1*10P1=m1*10Pобщ

Далі можна винести міру основи системи за дужки і зробити складання мантис: Х1+Х2=m1*10Pобщ+m210Pобщ.= (m1*+m2) 10Pобщ

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

Машинна операція складання чисел в нормальній формі розпадається таким чином, на 4 етапи:

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

Проводиться перетворення мантис доданків в один з модифікованих кодів.

Мантиси доданків підсумовуються за правилами складання дробових чисел з фіксованою комою.

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

6.3 Множення чисел з фіксованою комою

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

Визначається знак твору за допомогою складання знакових цифр співмножників по модулю два, де нуль відповідає плюсу, а одиниця - мінусу:

00 = 0

01 = 1

10 = 1

11 = 0

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

Множення проводиться за звичайними правилами арифметики згідно з двійкової таблиці множення.

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

6.4 Множення чисел з плаваючою комою

Якщо маємо два співмножники, задані в нормальної формеХ1=m110P1иХ2=m210P2, то їх твір визначається таким чином:

Х1Х2=m1m210P1+P2.

Аналіз цього співвідношення показує, що множення чисел в машинах з плаваючою комою призначується чотирма етапом:

Визначення знака твору шляхом складання по модулю два знакових цифр мантис співмножників.

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

Визначення порядку твору шляхом алгебраїчного складання порядків співмножників з використанням або додаткового, або зворотного модифікованого коду.

Нормалізація результату і округлення мантиси у разі необхідності. Оскільки співмножники обов'язково є нормалізованими числами, то де нормалізація твору можлива тільки на розряд і тільки вправо.

7 Інші системи числення

При наладці апаратних коштів (програм BIOS і т. д.) і написанні нових програм (особливо на мовах низького рівня типу асемблера або З) чисто виникає необхідність заглянути в пам'ять машини, щоб оцінити її поточний стан. Але там все заповнене довгими послідовностями нулів і одиниць, дуже незручних для сприйняття. Крім того, природні можливості людського мислення не дозволяють оцінити швидко і точно величину числа, представленого, наприклад, комбінацією з 16 нулів і одиниць. Для полегшення сприйняття двійкового числа вирішили розбити його на групи розрядів, наприклад, по троє або чотири розряди. Ця ідея виявилася вдалою, оскільки послідовність з 3 біт має 8 комбінацій, а послідовність з 4 біт -16 комбінацій. Числа 8 і 16 - міри двійки, тому легко знаходити відповідність між двійковими числами. Розвиваючи цю ідею, прийшли до висновку, що групи розрядів можна закодировть, скоротивши при цьому послідовність знаків. Для кодування трьох бітів (тріад) потрібно 8 цифр, і тому взяли цифри від 0 до 7 десятеричної системи. Для кодування чотирьох бітів (тетрад) необхідне 16 знаків, і взяли 10 цифр десятеричної системи і 6 букв латинського алфавіта: А, В, З, D, Е, F. отримані системи, що мають в основі 8 і 16, назвали відповідно вісімковою і шестнадцатеричной.

Таблиця 7.1 Вісімкова і шестнадцатеричная системи

Десятеричне число

Вісімкове число

Тріада

Шестнадцатерічноє число

Тетрада

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

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

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

Приклад 7.1 Отримання вісімкових і шестнадцатеричних чисел

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

Таблиця 7.2 дає уявлення про переклад чисел в різні системи.

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

Двійкові

числа

Вісімкові

числа

Десятеричні

числа

Шестнадцатерічние числа

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

А

1011

13

11

В

1100

14

12

З

1101

15

13

D

1110

16

14

Е

1111

17

15

F

10000

20

16

10

В СРСР в 1957 р. була побудована експериментальна модель ЕОМ "Сетунь", арифметика якої базувалася на троичной системі числення. На жаль, незважаючи на ряд особливостей, що привернули увагу, в машині були реалізовані далеко не всі корисні властивості троичного коду і трехзначной логіки, а також не було операцій з плаваючою комою, для яких переваги троичного коду особливо істотні.

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

Вигодський М. Я. Справочник по елементарній математиці, М.: Державне видавництво технико-теоретичної літератури, 1956.

Каган Б. М. Електронние обчислювальні машини і системи, М.: Енергоатомиздат, 1985.

Майорів С. А., Киріллов В. В., Пріблуда А. А., Введення в микроЕВМ, Л.: Машинобудування, 1988.

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

25

Зміст:

Історія розвитку систем счисления.2

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

Двійкова арифметика 10

Форми представлення чисел з фіксованою і плаваючою комою. 13

Складання чисел з фіксованою комою. 16

Складання чисел з плаваючою комою. 16

Множення чисел з фіксованою комою. 17

Множення чисел з плаваючою комою. 18

9. Прямий, зворотний і додатковий коди. Модифікований код. 20

Історія розвитку систем числення.

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

Найбільш довершеним принципом представлення чисел є позиційний (помісний) принцип, згідно з яким один і той же числовий знак (цифра) має різні значення в залежності від місця, де він розташований. Така система числення засновується на тому, що деяке число n одиниць (основа системи числення ) об'єднуються в одну одиницю другого розряду, n одиниць другого розряду об'єднуються в одну одиницю третього розряду і т. д. Основою систем числення може бути будь-яке число, більше одиниці. До числа таких систем відноситься сучасна десятерична система числення (з основою n=10). У ній для позначення перших десяти чисел служать цифри 0,1,...,9.

Незважаючи на уявну природність такої системи, вона з'явилася результатом тривалого історичного розвитку. Виникнення десятеричної системи числення зв'язують з рахунком на пальцях. Були системи числення і з іншою основою: 5.12 (рахунок дюжинами ), 20 (сліди такої системи збереглися у французком мові, наприклад quatre - vingts, т. е. буквально чотири - двадцять, означає 80), 40, 60 і інш. При обчисленнях на ЕОМ часто застосовується система числення з основою 2.

У первісних народів не існувало розвиненої системи числення. Ще в 19 віці у багатьох племен Австралії і Полінезії було тільки два числівників: один і два; поєднання їх утворювали числа: 3 -два - один, 4 - два - два, 5 - два - два - одні і 6 - два - два - два. Про всі числа, велику 6, говорили «багато», не індивідуалізувати їх. З розвитком суспільно - господарському життю виникла потреба в створенні систем числення, які дозволяли б і означати все більші сукупності предметів. Однією з найбільш древніх систем числення є єгипетська ієрогліфічна нумерація, виникла ще за 2500 - 3000 років до н. е. Це була десятерична непозиційна система числення, в якій для запису чисел застосовувався тільки принцип складання (числа, виражені рядом стоячими цифрами, складаються ). Спеціальні знаки були для одиниці▯, десяти ⋓, ста і інших десятеричних розрядів до. Число 343 записувалося так:

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

Римські цифри - традиційна назва знакової системи для позначення чисел, заснованої на вживанні особливих символів для десятеричних розрядів:

I V XLCDM

1 5 10 50 100 500 1000

Виникла біля 500 до н. е. у етрусков і використовувалася в Древньому Римі; іноді вживається і в цей час. У цій системі числення натуральні числа записуються за допомогою повторення цих цифр. При цьому якщо велика цифра стоїть перед меншою, то вони складаються (принцип складання ), якщо ж менша - перед більшою, то менша віднімається з більшої ( принцип віднімання ). Останнє правило застосовується тільки щоб уникнути чотирикратного повторення однієї і тієї ж цифри. Наприклад, I, X, З, ставляться відповідно перед X, З, M для позначення 9, 90, 900 або перед V, L, D для позначення 4, 40, 400.

Наприклад, VI=5+1=6, IV=5-1=4 (замість IIII ), XIX=10+10-1=19 (замість XVIIII), XL=50-10=40 ( замість XXXX), XXXIII=10+10+10+1+1+1=33 і т. д. Виконання арифметичних дій над багатозначними числами в цій системі вельми незручне.

Більш довершеними системами числення є алфавітні: ионийская, слов'янська, єврейська, арабська, а також грузинська і вірменська. Першою алфавітною системою числення була по - видимому, ионийская, виникла в грецьких колоніях в Малій Азії в середині 5 століття до н. е. У алфавітних системах числення числа від 1 до 9, а також всі десятки і сотні означаються, як правило, послідовними буквами алфавіта (над якими ставляться риски, щоб відрізнити записи чисел від слів). Число 343 в ионийской системі записувалося так: (тут - 300, - 40, - 3).

Цифрове значення слов'янських азбук. Так для кирилиці:

Для позначення чисел над буквами спеціальний знак титло (іноді над кожною буквою, іноді тільки над першою або ж над всім числом). При записі чисел, великих 10, цифри писалися зліва направо в порядку убування десятеричних розрядів (однак іноді для чисел від 11 до 19 одиниці записувалися раніше десяти ). Для позначення тисяч перед числом їх (зліва внизу) ставився особливий знак. Так, наприклад:

Для позначення і найменування вищих десятеричних розрядів (більш ) існували дві системи: «мале число» і «велике число»; в останню систему входили числа до або навіть («боле цього нести людському розуму разумевати» ):

Слов'янські цифри до 18 віку були основним цифровим позначенням в Росії.

У алфавітних системах числення, запис чисел набагато коротше, ніж в попередніх; крім того, над числами, записаними в алфавітній нумерації, набагато легше виконувати арифметичні дії. Однак в алфавітних системах числення не можна записувати як бажано великі числа. Греки розширили ионийскую нумерацію: числа 1000, 2000,...,9000 вони означали тими ж буквами, що і 1,2,...,9, але ставили штрих внизу зліва: так, означала 1000, - 2000 і т. д. Для 10 000 був введений новий знак. Проте ионийская система числення виявилася непридатною вже для астрономічних обчислень епохи еллінізму, і грецькі астрономи того часу стали комбінувати алфавітну систему з шестидесятеричной вавілонської - першої відомої нам системою числення, заснованою на позиційному принципі. У системі числення древніх вавилонян, виниклій приблизно за 2000 років до н. е. всі числа записувалися за допомогою двох знаків: (для одиниці) і (для десяти). Числа до 60 записувалися як комбінації цих двох знаків із застосуванням принципу складання. Число 60 знов означалося знаком, будучи одиницею вищого розряду. Для запису чисел від 60 до 3600 знову застосовувався принцип складання, а число 36 000 означалася тим же знаком, що і одиниця, і т. д. Число 343=5*60+4*10+3 в цій системі записувалося так:

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

Інша система числення заснована на позиційному принципі, виникла у індіанців майі, мешканців півострова Юкатан (Центральна Америка) в середині 1 - го тис. н. е. У майі існували дві системи числення: одна, що нагадує єгипетську, вживалася в повсякденному житті, інша - позиційна, з основою 20 і особливим знаком для нуля, застосовувалася при календарних розрахунках. Запис в цій системі, як і в нашій сучасній, носив абсолютний характер.

Сучасна десятерична позиційна система числення виникла на основі нумерації, що зародилася не пізнє 5 в. в Індії. До цього в Індії були системи числення, в яких застосовувався не тільки принцип складання, але і принцип множення (одиниця якого - нибудь розряду множиться на стояче зліва число). Аналогічно будувалися старокитайская система числення і деякі інші. Якщо, наприклад, умовно визначити число 3 символом III, а число 10 символом X, то число 30 запишеться як IIIX (три десятки). Такі системи числення могли служити підходом до мозданию десятеричної позиційної нумерації.

Десятерична позиційна система дає принципову можливість записувати як бажано великі числа. Запис чисел в ній компактний і зручний для виробництва арифметичних операцій. Тому невдовзі після виникнення десятерична позиційна система числення починає розповсюджуватися з Індії на Захід і Схід. У 9 віці з'являються рукописи на арабській мові, в яких викладається ця система числення, в 10 віці десятерична позиційна нумерація доходить до Іспанії, на початку 12 століття вона з'являється і в інших країнах Європи. Нова система числення отримала назву арабської, тому що в Європі з нею познайомилися уперше по латинських переказах з арабського. Тільки в 16 віці нова нумерація набула широкого поширення в науці і життєвому побуті. У Росії вона починає розповсюдяться в 17 віці і на самому початку 18 в. витісняє алфавітну. З введенням десятеричних дробей десятерична позиційна система числення стала універсальним засобом для запису всіх дійсних чисел.

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

Системою числення називається сукупність прийомів і правил для найменування і позначення чисел. Умовні знаки, вживані для позначення чисел, називаються цифрами.

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

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

Для визначення значення числа недостатньо знання типу і алфавіта системи числення. для цього необхідне ще завдання правила, що дозволяє по значенню цифр встановити значення числа. Наприклад, для визначення значення числа 945 в звичайній десятеричній системі числення застосовується функція десятеричного складання, т. е. значення числа визначається по значенню цифр (9 в крайній лівій позиції, 5 в крайній правій позиції, 4 між ними) звичайним підсумовуванням: значення числа 945 є 900+40+5. У римській нумерації число IX визначається відніманням: значення числа IX є 10-1=9.

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

При виконанні різних операцій в сучасних цифрових системах числа звичайно представляються в двійковій системі числення, основою якої є число 2. При цьому ціле k-розрядне десятеричне число записується у вигляді 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

Зворотне перетворення виконується таким чином:

=

1 0 1 1 0 1 1

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

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

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

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

Для представлення знака числа використовується знаковий разрядz, який звичайно розташовується перед числовими розрядами. Для позитивних чисел значення знакового разрядаz=0, для негативних чиселz=1. Для чисел з плаваючою комою вводяться окремі знакові розряди для мантиси і для порядку чисел.

Для уявлення числі зі знаком в цифрових системах використовується обратний1или дополнительний2код (таб. 1.). При цьому позитивні числа представляються в звичайному двійковому коді. Зворотний код негативного числа утвориться шляхом заміни 0 у всіх розрядах початкового двійкового числа на 1, і навпаки. Додатковий код негативного числа виходить із зворотного додаванням 1 до молодшого розряду.

Особливість коду Гріючи в тому, що при переході до кожного подальшого числа в коді змінюється значення тільки одного двійкового розряду. При цьому двухразрядние числа утворять циклічну послідовність 00-01-11-10 (0-1-2-3), трехразрядние - послідовність 000-001-011-010-110-111-101-100-000 (0-1-2-3-4-5-6-7-0) і т. д. Така циклічність коду є вельми зручною, наприклад, для кодування кутових переміщень в перетворювачах кута повороту в цифровий код.

Таблиця 1. Найбільш поширені двійкові коди від 0 до 15

Десятеричне число

Форма уявлення

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

Зворотний код

Додатковий код

Код Гріючи

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

1

1

1

1

1

1

1

1

0

0

0

0

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

0

0

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

0

1

1

1

1

1

1

1

0

0

0

0

0

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

0

0

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

0

0

0

0

1

1

1

1

1

1

1

1

0

0

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

0

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

0

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

Таблиця 2.

Найбільш поширені двійково-десятеричні коди чисел від 0 до 9

Десятеричне число

Двійково-десятеричний код (8-4-2-1)

Код Айкена (2-4-2-1)

Код «з лишком 3»

0

1

2

3

4

5

6

7

8

9

0

0

0

0

0

0

0

0

1

1

0

0

0

0

1

1

1

1

0

0

0

0

1

1

0

0

1

1

0

0

0

1

0

1

0

1

0

1

0

1

0

0

0

0

0

1

1

1

1

1

0

0

0

0

1

0

1

1

1

1

0

0

1

1

0

1

0

0

1

1

0

1

0

1

0

1

0

1

0

1

0

0

0

0

0

1

1

1

1

1

0

1

1

1

1

0

0

0

0

1

1

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

1

0

1

0

Наприклад, число в двійково-десятеричному коді записується у вигляді 0111 0010 1001. Для виконання складання і віднімання двійково-десятеричних чисел найбільш зручно використати самодополняющиеся коди, до числа яких відносяться код Айкена, код “ з лишком 3 ”. Код Айкена відрізняється від звичайного двійково-десятеричного, що має вагові коефіцієнти розрядів в тетрадах 8-4-2-1, іншими значеннями вагових коефіцієнтів розрядів: 2-4-2-1. Код “ з лишком 3” виходить із звичайного двійково-десятеричного арифметичним додаванням числа 3 (двійкове число 0011).

Як видно з таблиці 2 зворотний код числа, представленого в якому-небудь самодополняющем двійково-десятеричному коді, є його двійковим доповненням до 9. Наприклад, число 5 в коді «з лишком 3» =1000 має зворотний код =0111, відповідний числу 4 в коді «з лишком 3», яке «доповнює» число 5 до 9, оскільки 5+4=9.

Двійкова арифметика.

Ми будемо розглядати двійкову систему числення з цифрами 0,1. Саме ця система числення отримала широке застосування в обчислювальних машинах. Початок дослідження цієї системи відноситься до XVI віку. Зручність і простоту виконання арифметичних операцій в двійковій системі числення відмічали ще Б. Паськаль, Г. Лейбніц і інш. Розглянемо правила виконання арифметичних операцій з двійковими числами.

СКЛАДАННЯ. Для того щоб виконати складання двох чисел, записаних в двійковій системі числення, досить знати найпростішу таблицю складання:

0+0=0

0+1=1

1+0=1

1+1=10

Остання сума являє собою двозначне число. Це потрібно розуміти як перенесення однієї двійкової одиниці в сусідній старший розряд. Це можна записати так:

1+1=0+перенесення одиниці в сусідній старший розряд.

Приклад: Скласти двійкові числа

і.

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

+ 110,1011

10111,10101

10001,00011 - поразрядная сума без урахування перенесень

11 1, 1 - перенесення

11100,01011 - поразрядная сума без урахування повторних перенесень

1

11110,01011 - остаточна сума.

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

ВІДНІМАННЯ. Таблиця віднімання має вигляд

0-0=0

1-0=1

1-1=0

10-1=1

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

Приклад. Відняти їх =11010,1011 число =1101,01111

11010,1011

- 1101,01111

1101,00111

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

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

Множення проводиться, починаючи з молодшого або старшого розряду множника, що і визначає напрям зсуву. Якщо співмножники мають дробові частини, то положення коми в творі визначається за тими ж правилами, що і для десятеричних чисел.

Приклад. Перемножити двійкові числа =101,1101 і =1001,101

1011101

*1001101

1011101

0000000

1011101

1011101

0000000

0000000

1011101

1101111111001

Шуканий результат: 110111,1111001

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

1011101

*1001101

1011101

1011101

1011101

1011101

1011101

1101111111001

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

Приклад. Розділити =1101,11 на =10111.

1101110 0111

- 10111 100,1100

100100

- 10111

11010

- 10111

Залишок 1100

Приклад. Розділити =10001,111 на =11,01

10001111 11010

- 11010 101,1

100111

- 11010

11011

- 11010

00000

Шуканий результат 101,1

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

Форми представлення чисел з фіксованою і плаваючою комою.

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

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

У ЦВМ використовують дві форми представлення чисел: природну і полулогарифмическую.

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

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

...

Розряди модуля числа

Знаковий розряд

Місце коми

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

При занесенні числа в елемент пам'яті вільні молодші розряди заповнюються нулями, а якщо число розрядів модуля, що означають більше n - 1, то молодші розряди модуля, які не вмістилися в розрядній сітці, втрачаються. Це приводить до погрішності, значення якої менше одиниці молодшого розряду розрядної сітки, т. е.. Так, при n=16 при n=32.

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

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

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

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

Для науково - технічних розрахунків необхідно представляти числа в широкому діапазони і з досить великою точністю. Вказаним вимогам відповідають числа з плаваючою комою.

m m - 1 1 р р - 1 1.

..

...

Знак Модуль мантиси Знак Модуль порядку

числа порядку

Число складається з мантиси, старший розряд якої визначає знак числа, і порядку зі знаком. Значення модуля мантиси представляється двійковим дробовим числом, т. е. кома фіксується перед старшим розрядом модуля мантиси, порядок представляється цілим числом. Порядок вказує дійсне положення коми в числі. Код в приведеному форматі представляє значення числа в полулогарифмической формі:, де М і П мантиса і порядок числа.

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

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

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

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

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

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

Розглянемо погрішність представлення чисел з плаваючою комою. Абсолютна погрішність числа.

Гранична відносна погрішність - відношення абсолютної погрішності до числа при мінімальному значенні модуля мантиси нормалізованого числа..

Звідси видно, що точність представлення чисел визначається кількістю розрядів, що відводяться в розрядній сітці під мантису.

У сучасних ЕОМ числа з плаваючою комою мають основи системи числення 16 і представляються в двох форматах: короткому (з числом розрядів 32) і довгому (з числом розрядів 64). Довгий формат передбачає збільшення кількості розрядів, що відводяться в розрядній сітці під мантису, за рахунок чого підвищується точність представлення чисел.

Складання чисел з фіксованою комою

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

Алгебраїчне складання багато розрядних чисел звичайно організується як регулярний процес, що складається з n однакових операцій поразрядного складання віднімання, де n- кількість розрядів в кожному з операндів).

При цьому в залежності від знаків складових можливі чотири випадки:

1) Х1 > 0, Х2 > 0, Х3= Х1+ Х2 > 0;

2) Х1 > 0, Х23= Х1+ Х2 > 0;

3) Х1 > 0, Х23= Х1+ Х2

4) Х123= Х1+ Х2

Приклади складання чисел з фіксованою комою були розглянуті вище.

Складання чисел з плаваючою комою

Якщо є два числа в нормальній формі: Х1= m110p1и Х2= m210p2, то для того щоб їх можна було скласти, потрібне заздалегідь привести їх до одному і того ж порядку Робщ, т. е. перетворити один з доданків, наприклад, перше таким чином:

Х1= m110p1= m1*10p1= m1*10pобщ.

Далі можна винести міру основи системи за дужки і зробити складання мантис: Х1+ Х2= m1*10pобщ.+ m210pобщ.= (m1*+ m2) 10pобщ.

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

Машинна операція складання чисел в нормальній формі розпадається таким чином, на 4 етапи:

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

2. Проводиться перетворення мантис доданків в один з модифікованих кодів.

3. Мантиси доданків підсумовуються за правилами складання дробових чисел з фіксованою комою.

4. У разі потреби мантиса суми переводиться в прямий код, проводиться нормалізація суми і округлення її мантиси.

ПРИКЛАД. Використовуючи додатковий код, скласти два числа:

[X1]пр= 0 101; 1,10101 і [X2]пр= 0 100; 1,11001

порядок мантиса

РІШЕННЯ:

[X2]пр= 0 101; 1,011001

[m1]мод= 11,01011; [m1]мод= 11,100111.

допдоп

[m1]мод= 11,01011

доп

[m2]мод= 11,01011

доп

[m3]мод= 110, 111101

доп

відкидається заборонена комбінація

4. Комбінація знакових цифр мантиси показує, що сума денормализована вліво (завжди тільки на один розряд)

Зробимо нормалізацію суми вправо

[m3]мод= 10, 111101 1,0111101

доп

Робщ= 0,101 + 0,001 = 0,110

Далі переводимо суму в прямий код і проводимо округлення її мантиси до п'яти розрядів.

Відповідь: [X3]пр= 0 110; 1,1000011 ~ 0 100; 1, 10001

порядок мантиса

Множення чисел з фіксованою комою

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

1. Визначається знак твору за допомогою складання знакових цифр співмножників по модулю два, де нуль відповідає плюсу, а одиниця - мінусу:

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 0

Вручну це еквівалентне:

(+) (+) = (+); (+) (-) = (-); (-) (+) = (-); (-) (-) = (+).

2. Проводитися перемноження модулів співмножників, потім у разі необхідності округлення отриманого модуля твору, після чого до модуля результату приписується його знак, визначений на першому етапі.

Множення проводиться за звичайними правилами арифметики згідно з двійкової таблиці множення. Твір модулів ¦Х3¦ = ¦Х1¦ * ¦Х2¦ двох (наприклад дробових) чисел, де множник Х2= Х212-1+ Х222-2+...+ Х2n2, частіше за все обчислюється як сума так званих часткових творів:

n

/Х3/ =/Х/ Х2i2

i=1

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

ПРИКЛАД. Перемножити числа [X1]пр= 0,1010 і [X2]пр= 1,1101

Рішення.

1. Визначаємо знак твору 0 + 1 = 1.

2. Перемножимо модулі операндів, порядок перемноження визначається нумерацією цифр множника:

1-й спосіб

0,1010 0,1010

х 0,1101х 0,1101

4,3,2,1номера цифр множителя1,2,3,4

1010 1010

0000 1010

+1010 + 0000

10101010

0,10000010 0,10000010

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

Відповідь: [X3]пр= 1,0000010 ~ 1,10000.

Перший спосіб часто називають множенням молодшими розрядами уперед, а другий - множенням старшими розрядами уперед.

Множення чисел з плаваючою комою

Якщо маємо два співмножники, задані в нормальній формі Х1= m110p1и Х2= m210p2, то їх твір визначається таким чином:

Х1Х2= m1m210p1+р2.

Аналіз цього співвідношення показує, що множення чисел в машинах з плаваючою комою призначується чотирма етапом:

1. Визначення знака твору шляхом складання по модулю два знакових цифр мантис співмножників.

2. Перемноження модулів мантис співмножників за правилами для дробових чисел з фіксованою комою.

3. Визначення порядку твору шляхом алгебраїчного складання порядків співмножників з використанням або додаткового, або зворотного модифікованого коду.

4. Нормалізація результату і округлення мантиси у разі необхідності. Оскільки співмножники обов'язково є нормалізованими числами, то де нормалізація твору можлива тільки на розряд і тільки вправо.

ПРИКЛАД. Перемножити числа з плаваючою комою.

Пр, що Множиться [X1]= 0 101; 1,10101

Множник [X2]пр= 0 100; 1,11001

Рішення.

1. Знак твору 1 + 0 = 1.

2. Перемножуємо модулі мантис:

1-й крок, 0000 0000 - нульова сума

+, 0000 1010 - 1-е частковий твір

2-й крок, 0000 1010 - 2-я сума

+, 0000 0000 - 2-е частковий твір

3-й крок, 0000 1010 - 3-я сума

+, 0010 1000 - 3-е частковий твір

4-й крок, 0011 0010 - 4-я сума

+, 0101 0000- 4-е частковий твір,

1000 0010 - модуль твору мантис.

Знаходимо порядок твору:

[р1]мод= 00,101

доп

[р2]мод= 11,101

доп

[р3]мод= 100, 010

доп

втрачається

Вироблюваний округлення мантиси твору.

Відповідь: [X3]пр= [Х1Х2]пр= 0 010; 1 100

порядок мантиса

Прямий, зворотний і додатковий коди. Модифікований код.

Введемо визначення прямого, зворотного і додаткового кодів. Розглянемо двійкове число Відповідно до викладеного вище число R кодується таким чином:

0

R= 1

або, в більш загальному випадку, якщо,

0

R=

Оскільки, ці співвідношення можна переписати таким чином:,

=

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

Якщо, то формула перепишеться в такому вигляді:,

=

Аналогічним образом кодуються і числа, модуль яких не менше одиниці.

Приклад: Записати числа в прямому коді:

З рівності

слідує, що операцію вичитанияуизхможно замінити операцією сложенияS подальшим відніманням з результату величиниS.

Введемо запис

R

=S+R

Представлення чисел у відповідності з називається додатковим кодом числаR.

Операцію віднімання можна замінити операцією складання і на основі співвідношення.

Код, визначений за допомогою співвідношення

R

=

називається зворотним кодом числаR.

Відмітимо, що при S=2 для отримання зворотного коду негативного числа в знаковий розряд треба записати одиницю, а кожну цифру в записі числа замінити на її доповнення до S-1, т. е. одиницю замінити на нуль, а нуль на одиницю.

Приклад: Записати числа в зворотному коді:

=0,110101 =0 110101

= - 101,1101 =1 0100010.

Приклад: Записати числа в додатковому колі:

=0,110101 =0 110101

= - 101,1101 =1 0100011

З приведених прикладів слідує, що позитивні числа в прямому, зворотному і додатковому кодах співпадають. У прямому і зворотному коді нуль має два уявлення - «позитивний» і «негативний» нуль. У додатковому коді нуль має тільки одне, «позитивне», уявлення.

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

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

Розглянемо спочатку використання зворотного коду для алгебраїчного сложенияn- розрядних двійкових чиселRиQ, коли обидва вони або одне з них негативно. Будемо вважати, що модуль їх алгебраїчної суми менше одиниці і одиниця перенесення з розряду знака додається до молодшого розряду суми, що вийшла.

Нехай, наприклад, (визначимо ) і (визначимо ). Вважаємо, - 10. Тоді у відповідності з можна записати.

У зв'язку з тим, що виникає перенесення із знакового розряду, одна двійка пропадає і додається одиниця перенесення до молодшого розряду суми: .

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

Розглянемо алгебраїчну суму чисел (визначимо ) і. Можемо записати.

Якщо, то і виникає перенесення з розряду знака. У цьому випадку маємо.

Якщо ж, то і перенесення не виникає; отримуємо.

Ми отримали, що складання чисел з використанням зворотних кодів з циклічним перенесенням приводить до отримання алгебраїчної суми в прямому коді, якщо сума позитивна, і в зворотному коді, якщо сума негативна.

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

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

Для виявлення такого переповнення, враховуючи, що модуль суми двох таких чисел менше двох, використовують один додатковий розряд. Код ( прямий, додатковий, зворотний), в якому є такий додатковий розряд, називається модифікованим. У модифікованих кодах цей розряд використовується для дублювання знака числа, т. е. знак «плюс» означається 00, а «мінус» - 11. Правила перенесення з розрядів знака залишаються колишніми в залежності від того, в якому коді (зворотному або додатковому ) представлені числа. На переповнення ж розрядної сітки, т. е. що модуль суми, вказує неспівпадання цифр в знакових розрядах. У цьому разі комбінації 01 відповідає позитивне, а 10 - негативне число.

Приклад: Скласти і

Прямий модифікований код 00 11011.

Зворотний модифікований код 11 11010.

+ 00 11011

11 11010

1 00 10101

1

00 10110 =.

Приклад: Скласти і

11 01010

11 00111.

+ 11 01010

11 00111

(1) 10 10001

=10 10001

Переповнення розрядної сітки.

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

Отже, в загальному випадку складання і віднімання в машинах з плаваючою комою складається з наступних етапів:

1. Порівняння порядків чисел.

2. Вирівнювання порядків чисел.

3. Переклад мантис доданків в зворотний або додатковий модифіковані коди.

4. Складання мантис в прямому, зворотному або додатковому модифікованих кодах.

5. Виправлення нормалізації вправо або вліво.

6. Переклад мантиси результату в прямий код.

7. Видача результату з урахуванням порядку.

Приклад. Скласти два числа, представлені в формі з плаваючою комою.

R=0 011 1 111010001

Q=0 101 1 110101101,

де в першій позиції запису - знак порядку, в наступних трьох - модуль порядку, потім слідує знаковий розряд мантиси і модуль мантиси, т. е.

R=-0.111010001*

Q=-0.110101101*

а) Порівняння порядків. З більшого порядку віднімаємо менший:

і.

б) Вирівнювання порядків. Зсуваємо мантису числаRна на (2) розрядів вправо і привласнюємо йому порядок:

R=0 101 1 001110100.

в) Переводимо мантиси в модифікований зворотний код:

=11 110001011

=11 001010010

г) Складаємо мантиси:

11 110001011

11 001010010

1 10 111011101

1

110 111011110

д) Неспівпадання цифр в знаковому і контрольному розрядах вказує на порушення нормалізації вліво. Зсуваємо мантису вправо на один розряд і відповідно збільшуємо порядок.

Отримуємо: мантиса 11 011101111; порядок 110.

е) Переклад мантиси в прямий код:

1 100010000.

ж) РезультатR+Q=0 110 1 100010000, т. е.R+Q=.

Список літератури, що використовується:

Ролич Ч. Н. - Від 2 до 16, Мінськ, «Вища школа», 1981 р.

Математична енциклопедія. М: “ Радянська енциклопедія” 1985 р.

Шауман А. М. Основи машинної арифметики. Ленинград, Видавництво Ленінградського університету. 1979 р.

Калабеков Б. А. Цифровие пристрою і микропроцессорние системи. М: “ Гаряча лінія - Телеком” 2000 р.

Ворощук А. Н. Основи ЦВМ і програмування. М:” Наука” 1978 р.

Алексенко А. Г. Мікросхемотехника. М: ” Радіо і зв'язок” 1990 р.

1 Зворотний код двійкового числа називається також доповненням до 1, оскільки для кожного розряду числа =1

2 Додатковий код числа називається також доповненням числа до 2, оскільки для кожного розряду числа (число 2 в двійковій формі)

ПРИКЛАД

Зміст

1 Походження і історія розвитку систем счисления1

1.1 Межі счета1

1.2 Десятерична система счисления2

1.3 Розвиток поняття числа2

1.4 Системи нумерації деяких народов3

2 Основні поняття і определения8

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

3.1 Історія виникнення двійкової системи счисления10

3.2 Основні поняття машинної арифметики10

4 Взаємний переклад двійкових і десятеричних чисел і елементарні

двійкові арифметичні действия11

4.1 Представлення двійкових чисел і переклад їх в десятичние11

4.2 Перетворення десятеричних чисел в двоичние11

4.3 Арифметичні дії над двійковими числами13

5 Представлення чисел в ЕОМ, кодирование17

5.1 Представлення чисел з фіксованої і плаваючої запятой17

5.2 Прямий, зворотний і додатковий коди.

Модифікований код19

5.3 Двійково-десятеричне кодирование21

6 Алгебраїчні дії над числами з плаваючої і

фіксованої запятой22

6.1 Складання чисел з фіксованої запятой22

6.2 Складання чисел з плаваючої запятой22

6.3 Множення чисел з фіксованої запятой23

6.4 Множення чисел з плаваючої запятой23

7 Інші системи счисления23

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