31474

Дослідження форм представлення десяткових чисел у комп’ютері

Лабораторная работа

Информатика, кибернетика и программирование

Це можуть бути тексти зображення числа звуки і т. В обчислювальних машинах застосовуються дві форми представлення чисел: природна форма або форма з фіксованою комою точкою; нормалізована форма або форма з плаваючою комою точкою; З фіксованою комою числа зображуються у вигляді послідовності цифр з постійним для всіх чисел положенням точки яка відділяє цілу частину від дробової. З плаваючою точкою числа зображуються у вигляді X = M×Pr де M мантиса числа правильна дріб в межах 01 ≤ M 1 r порядок числа ціле P ...

Украинкский

2013-09-01

83.5 KB

15 чел.

Лабораторна робота 1.5

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

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

Короткі теоретичні відомості

Будь яка інформація, подається в ЕОМ, перетвориться у двійковий код. Це можуть бути тексти, зображення, числа, звуки і т.д. Наприклад, всі клавіші клавіатури комп’ютера закодовані 8-розрядними двійковими кодами таким чином, що будь яка буква латинського та російського алфавіту, як велика, так і маленька, цифри десяткової системи числення, знаки пунктуації та інші службові символи мають свій індивідуальний двійковий код. Так як двійкове 8-розрядне число (байт) може мати 28 = 256 комбінацій, то цього достатньо для кодування зразу декількох текстових алфавітів. Зображення на екрані комп’ютера представляється у вигляді растрового розташування точок (пікселів). Інформація про вміст кожної точки зберігається в одному 8-розрядному двійковому коді. Це дозволяє відображати чорно-білі зображення з 256-ю градаціями яскравості. Для кольорових зображень кожного з 3-х основних кольорів також кодується 1 байтом, таким чином на кожну кольорову точку виділяється 3 байта інформації. На кодування звукового елементу - ноти потрібно від декількох одиниць до десятків байт і т.д. Одна сторінка тексту має інформаційний об’єм  ~3 Кбайт, один кольоровий екранний кадр містить вже  ~3 Мбайт, а 1,5-годинний кольоровий телевізійний фільм  ~ 300 Гбайт.

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

-  природна форма або форма з фіксованою комою (точкою);

-  нормалізована форма або форма з плаваючою комою (точкою);

З фіксованою комою числа зображуються у вигляді послідовності цифр з постійним для всіх чисел положенням точки, яка відділяє цілу частину від дробової. Наприклад,  32,54;  0,0036;  –108,2. Ця форма проста, природна, але має невеликий діапазон представлення чисел і тому не завжди припустима при обчисленнях. Якщо у результаті операції отримаємо число, яке виходить за допустимий діапазон, відбувається переповнення розрядної сітки і подальші обчислення втрачають сенс. У сучасних комп’ютерах форма представлення чисел з фіксованою комою використовується тільки для цілих чисел. 

З плаваючою точкою  числа зображуються у вигляді X = ±M×P±r, де M - мантиса числа (правильна дріб в межах 0,1 ≤ M < 1),  r - порядок числа (ціле), P - основою системи числення. Наприклад, наведені вище числа з фіксованою крапкою можна перетворити в числа з плаваючою точкою так: 0,3254×102,  0,36×10–2,  –0,1082×103. Нормалізована форма представлення   має великий діапазон чисел і є основною у сучасних ЕОМ.

Будь яке десяткове число, перед тим як попадає в пам'ять комп’ютера, перетворюється за схемою:

X10→X2→X2 = M2×102r

Після цього виконується ще одна важлива процедура:

  •  мантиса з її знаком замінюється кодом мантиси з її знаком;
  •  порядок числа з його знаком замінюється кодом порядку з його знаком.

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

Кожному двійковому числу можна поставити у відповідність декілька видів кодів. Існують наступні коди двійкових чисел:

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

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

Наприклад: число X2 = –0,1011012→ код числа  X пр = 1101101; число Y2 = +0,11011012→код числаYпр=01101101.

Зворотній код. Зворотній код додатного двійкового числа співпадає з прямим кодом, а для відємного числа потрібно, виключаючи знаковий розряд, у всіх інших розрядах нулі замінити на одиниці і навпаки. Наприклад: число X2 = –0,101012 → Xпр =110101→Xзв=101010;
числоY2=+0,11012→Yпр=01101=Yзв.

Додатковий код. Додатковий код додатного числа співпадає з його прямим кодом. Додатковий код відємного числа створюється за допомогою додавання 1 до зворотного коду.

Наприклад: число X2 = –0,100102 → Xпр = 110010 → Xзв = 101101 → Xзв = 101110; число Y2 = +0,1011 → Yпр = 01011 = Yзв = Yдод.

Додавання та віднімання двійкових чисел. Додавання чисел, а також віднімання чисел у зворотному або додатковому кодах виконується з використанням звичайного правила арифметичного додавання багато розрядних чисел. Це правило розповсюджується і на знакові розряди чисел. Відмінність зворотного та додаткового кодів пов’язано з тим, що потім роблять  з одиницею переносу з старшого розряду, який зображає знак числа. При додаванні чисел у зворотному коді цю одиницю потрібно додати до молодшого розряду результату, а у додатковому коді одиниця переносу з старшого розряду ігнорується. Це очевидно, якщо пригадати, що додатковий код з зворотного отримується як раз додаванням одиниці. Приклад: скласти числа +18 та –7.

Як і у зворотному, так і у додатковому кодах результати додавання співпали і дорівнюють 10112= 1110.

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

Отримані коди мантиси та порядок для кожного числа вставляються в ячейки памяті   ЕОМ. Для кожної цифри, яка входить в код, в ячейці памяті відводиться своє окреме місце. Одна ячейка памяті складається з 8 біт, тобто 1 байта. У сучасних комп’ютерах 2 байта виділяються для одного машинного слова. В останніх моделях ПК обробка інформації ведеться двійковими словами, які містять 4 байта. Числа з фіксованою крапкою мають формат одного слова, а числа з плаваючою крапкою – формат подвійного слова.

Приклад: Дано число з плаваючою крапкою  –0,625×108. Потрібно перетворити його в машинний код і заповнити 32-разрядну ячейку памяті. Мантиса числа  0,62510 = 0,1012.  Так як порядок чисел може бути як додатнім, так і від’ємним, то машинний порядок зміщується відносно природного таким чином, щоб весь діапазон машинних порядків змінювався від 0 до максимуму, який визначається кількістю розрядів, які виділяються для розміщення чисел порядку. В 32-разрядній ячейці цифри порядку замінюють 7 розрядів старшого байта, а восьмий розряд використовується для фіксації знаку числа.  Сім двійкових розрядів дозволяють розмістити діапазон десяткових розрядів  від –64 до +63. Якщо позначити машинний порядок через R, а природній через r, то зв'язок між ними буде такий: R10 = r10+6410. Для двійкової системи числення R2 = r2 + 10000002. У нашому прикладі порядок r дорівнює 810 = 10002, отже R2 = 1001000. У двійковій системі вихідне число виглядає так: –0,101х101000. Запис цього числа у 32-розрядній комірці представлено у таблиці:

 

Знак числа

Порядок

Мантисса

№ разряда

31

30

29

28

27

26

25

24

23

22

21

20

19

18

•••

1

0

Число

1

1

0

0

1

0

0

0

1

0

1

0

0

0

0

0

0

Варіанти завдання

Перевести від’ємне число з десяткового представлення в машинне представлення (дріб правильна)

  1.  

ціле, дробове

8 розрядів

  1.  

ціле, дробове

8 розрядів

  1.  

ціле, дробове

16 розрядів

  1.  

ціле, дробове

16 розрядів

  1.  

ціле, дробове

32 розряди

  1.  

ціле, дробове

32 розряди

  1.  

ціле, дробове

64 розряди

  1.  

ціле, дробове

64 розряди

  1.  

ціле, дробове

8 розрядів

  1.  

ціле, дробове

8 розрядів

  1.  

ціле, дробове

16 розрядів

  1.  

ціле, дробове

16 розрядів

  1.  

ціле, дробове

32 розряди

  1.  

ціле, дробове

32 розряди

  1.  

ціле, дробове

64 розряди

Контрольні питання

  1.  Як зображуються числа з фіксованою та плаваючою точками?


 

А также другие работы, которые могут Вас заинтересовать

28434. Дипломатический курьер 34 KB
  дипломатический курьер который должен быть снабжен официальным документом с указанием его статуса и числа мест составляющих дипломатическую почту пользуется при исполнении своих обязанностей защитой государства пребывания. Все места составляющие дипломатическую почту должны иметь видимые внешние знаки указывающие на их характер и они могут содержать только дипломатические документы и предметы предназначенные для официального пользования. Командир должен быть снабжен официальным документом с указанием числа мест составляющих почту но...
28436. Строки. Процедуры и функции действий над строками. Примеры обработки строк 31 KB
  Он во многом похож на одномерный массив символов ARRAY[0.N] of CHAR однако в отличие от последнего количество символов в строке переменной может меняться от 0 до N где Nмаксимальное количество символов в строке. COPY ST INDEX COUNTфункция типа STRING ; копирует из строки ST COUNT символов начиная с символа с номером INDEX; DELETE ST INDEX COUNT процедура ; удаляет COUNT символов из строки ST начиная с символа с номером INDEX. STR X [:L [: M] ST процедура; преобразует число X любого вещественного или целого типов в...
28437. Записи. Структура объявления типа записи. Оператор присоединения WITH. Использование записи с вариантными полями. Примеры 48.5 KB
  Записи. Структура объявления типа записи. Использование записи с вариантными полями. Примеры Запись это структура данных состоящая из фиксированного числа компонентов называемых полями записи.
28438. Множества. Описание типа множества. Операции над множествами. Примеры 33 KB
  Операции над множествами пересечение множеств; результат содержит элементы общие для обоих множеств; например mset4mset6 содержит [2.5]; mset4mset5 пустое множество; объединение множеств результат содержит элементы первого множества дополненные недостающими элементами из второго множества: mset4mset5 содержит [0 1 2 3 4 5]; mset5mset6...
28439. Процедуры и функции. Локализация имен. Описание подпрограммы. Параметры. Примеры использования подпрограмм 51 KB
  Процедуры и функции. Процедуры и функций используется для оформления самостоятельного фрагмента программы используемого более одного раза. Процедуры. Процедура состоит из заголовка и тела процедуры называемого блоками.
28440. Модули. Структура модулей. Заголовок модуля и связь модулей друг с другом. Интерфейсная часть. Исполняемая часть. Инициирующая часть. Компиляция модулей. Доступ к объявленным в модуле объектам. Примеры использования модулей 56.5 KB
  Заголовок модуля и связь модулей друг с другом. Здесь UNIT зарезервированное слово единица; начинает заголовок модуля; имя имя модуля; INTERFACE зарезервированное слово интерфейс; начинает интерфейсную часть модуля; IMPLEMENTATION зарезервированное слово выполнение; начинает исполняемую часть; BEGIN зарезервированное слово; начинает инициирующую часть модуля; конструкция BEGIN инициирующая часть необязательная; END зарезервированное слово признак конца модуля. Тела процедур и функций располагаются в исполняемой...