Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Як представляються в комп’ютері числа зі знаком?




Типи даних, якими оперує комп’ютер

В сучасній обчислювальній техніці інформація кодується за допомогою послідовностей сигналів всього двох видів: намагнічено чи не намагнічено, включено чи виключено, висока чи низька напруга і т.д.. Прийнято позначати один стан цифрою нуль, а другий – цифрою 1. Таке кодування називається двійковим [1]. Біт – (англ. bit – binary digit – двійкова цифра) 0 або1.

При двійковому кодуванні текстової інформації кожному символу відповідає його код – послідовність із фіксованої кількості нулів і одиниць. В більшості сучасних ЕОМ кожному символу відповідає послідовність із 8 нулів і одиниць. Байт – це вісім послідовно розміщених бітів, пронумерованих від 0 до 7, при цьому біт 0 є самим молодим значущим бітом. Всього існує 256 різних символів, наприклад великі і малі букви кирилиці і латиниці, цифри, розділові знаки і т.д.. Відповідність байтів і символів задається за допомогою таблиці, в якій для кожного коду вказується відповідний символ.

Слово – послідовність з двох байт, які мають послідовні адреса. Розмір слова 16 біт; біти в слові нумеруються від 0 до 15. Байт, який вміщує нульовий біт, називається молодшим байтом, а байт, який вміщує 15 біт – старшим байтом.

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

Так поділяються типи даних з точки зору розмірності. Але комп’ютер може підтримувати логічну інтерпретацію цих типів.

Цілий тип зі знаком – двійкове значення зі знаком, розміром 8, 16 або 32 біта. Знак в цьому двійковому числі розміщується в 7-му, 15-му або 31-му біті, відповідно. Нуль в цих бітах в операндах відповідає додатному числу, а одиниця – від’ємному. Від’ємні числа представляються у додатковому коді. Числові діапазони для цього типу даних наступні:

8-розрядне ціле – від –128 до +127

16-розрядне ціле - від -32768 до +32767

32-розрядне ціле - від -231 до +231-1

Цілий тип без знаку – двійкове значення без знаку, розміром 8, 16 або 32 біта. Числовий діапазон для цього типу наступний

Байт – від 0 до 255

Слово – від 0 до 65535

Подвійне слово – від 0 до 232-1

Додатні цілі зі знаком – це 0 і всі додатні числа. Від’ємні цілі зі знаком – це всі числа менші за 0.

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

Додатковий код деякого від’ємного числа представляє собою результат інвертування (заміни 1 на 0 і навпаки) кожного біта двійкового числа, рівного модулю початкового від’ємного числа плюс одиниця. Наприклад, розглянемо десяткове число мінус 185. Модуль цього числа в двійковому вигляді рівний 10111001. Спочатку потрібно доповнити це значення зліва нулями до потрібного розміру – байта, слова і т.д.. У нашому випадку доповнити треба до слова, так як діапазон представлення знакових чисел в байті складає мінус128...+127.Наступна дія – отримати двійкове доповнення. Для цього всі розряди двійкового числа треба інвертувати:

0000 0000 1011 1001→1111 1111 0100 0110

Тепер додаємо одиницю:

1111 1111 0100 0110 + 0000 0000 0000 0001 = 1111 1111 0100 0111

Саме так представляється число мінус 185 в комп’ютері. При роботі з числами зі знаком від вас напевно буде необхідно вміння виконувати зворотні дії – маючи двійкове доповнення числа, визначити значення його модуля. Для цього необхідно виконати дві дії:

– виконати інвертування бітів двійкового доповнення.

– до отриманого двійкового числа додати двійкову одиницю.

Для прикладу, визначити модуль двійкового представлення числа мінус185 = 1111 1111 0100 0111:

1111 1111 0100 0111→інвертуємо біти→0000 0000 1011 1000

Додаємо двійкову одиницю:

0000 0000 1011 1000 + 0000 0000 0000 0001 = 0000 0000 1011 1001 = |-185|

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

 

Таблиця 1.2 - Основні арифметичні операції у двійковій системі числення

Двійкове додавання
Доданки   Сума Перенос
           
  +   =    
  +   =    
  +   =    
  +   =    

 

Двійкове віднімання
Зменшуване   Від’ємник   Різниця Позика
           
  -   =    
  -   =    
  -   =    
  -   =    
               

 

Двійкове множення
Множник   Множник   Добуток
         
  ´   =  
  ´   =  
  ´   =  
  ´   =  

 

Двійкове ділення
Ділене   Дільник   Частка
         
  :   = -
  :   =  
  :   = -
  :   =  

Додавання і віднімання, множення і ділення двійкових чисел виконується так само, як і в інших позиційних системах числення, наприклад десятковій. Точно так само виконується зичення і перенос із старшого розряду (або в старший розряд) (табл.1.3). Віднімання в двійковій системі зручно проводити також шляхом сумування з використанням додаткового коду (табл.1.4).

 

Таблиця 1.3 - Приклади основних арифметичних операцій у двійковій системі числення.

Додавання                    
перенос                    
доданок +                  
доданок                  
сума                    

 

Віднімання                        
позика                        
зменшуване -                      
від’ємник                      
різниця                        

 

Множення                
множник   ´            
множник              
                 
                 
                 
добуток                

 

Ділення

Ділене Дільник    
    ,                     ,      
                        ,       Частка
                                 
                                 
                                 
                                 
                                 
                                 
                      залишок

 

Віднімання з додатковим кодом (1011 – 0101):

Інвертуємо число 0101 ® 1010

Додаємо до 1011 інвертоване число

 

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

 

Перенос          
Доданок +        
Доданок        
Сума          
Циклічний перенос ¯ ® ® ®  
Шукана різниця          

 

Таблиця 1.5 - Степені двійки

 

k 2k
   
   
   
   
   
   
   
   
   
   
   
   

 

 




Поделиться с друзьями:


Дата добавления: 2014-11-25; Просмотров: 648; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.