Системы счисления микроэвм. Двоичная арифметика. Разрядные сетки. Прямой и дополнительный коды 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Системы счисления микроэвм. Двоичная арифметика. Разрядные сетки. Прямой и дополнительный коды



 

Системы счисления

 

Система счисления - это способ представления любого числа посредством некоторого алфавита символов. Различают непозиционные системы счисления (например, римская), позиционные (десятичная, двоичная, восьмеричная, шестнадцатеричная и др.) и системы с иррациональным основанием (коды Фибоначчи). Количество раз­личных цифр в позиционной системе называют основанием системы S.

Любое число N в позиционной системе с основанием S пред­ставляется формулой

 

, (2.1)

 

где k - количество цифр в числе N; a - любые из S цифр системы счисления.

Если найдено представление числа N в виде (2.1), то само число можно записать в виде:

 

(2.2)

 

Например, если десятичное число выражается полиномом , то само число равно 125,1510.

В двоичной системе счисления (2 с/с) используются только две цифры: 0 и 1; в восьмеричной (8 с/с) - восемь цифр: 0-7; в шест­надцатеричной (16 с/с) - десять цифр: 0-9 и шесть букв: А, В, С, D, Е, F. МикроЭВМ так же, как и другие ЭВМ, работают с инфор­мацией, представленной в 2 с/с.

Для связи оператора с микроЭВМ (для ввода и вывода данных, команд, адресов) используется 8 с/с (микроЭВМ типа DEC) или 16 с/с (микроЭВМ типа INTEL), так как в 2 с/с запись информа­ции получается длинной и неудобной для оператора.

Перевод чисел из 10 с/с в другую позиционную систему с основанием S осуществляется по разным правилам для целой и дробной частей числа.

Перевод целых чисел. Для перевода целого числа из 10 с/с в систему с основанием (2 с/с, 8 с/с, 16 с/с) необходимо последовательно разделить это число и получаемые частные на основание S до тех пор, пока час­тное не станет меньше S. Запись числа производится, начиная с последнего частного, с присоединением остатков в последовательно­сти, обратной их получению.

 

Пример. Перевести число 3310 в 2 с/с.

 

-

33

2

               
32

-

16

2

           
1 16

-

8

2

       
      0 8

-

4

2

   
          0 4

-

2

2

            0 2   1
                  0    

 

Запись. 3310 = 1000012 = 418 =2116.

 

Перевод дробных чисел. Для перевода дробной части из 10 с/с в систему S (2 с/с, 8 с/с, 16 с/с) необходимо умножить эту дробь и дробные части (без учета целых) получающихся произведений на основание S. Запись дроби производится с нуля с добавлением после запятой целых частей (сверху - вниз) получающихся произведений. Если при последовательном умножении после запятой не получаются нули, то перевод осуществляется с заданной точностью.

 

Пример. Перевести 0,62510 в 2 с/с.

 

X

0, 625
  2

X

1, 250
  2

X

0, 50
  2
  1, 0


Запись: 0,62510 = 0,1012 = 0,58 = 0,A16.

 

В последней записи число 10 заменено символом А в соответствии со способом кодирования в 16 с/с (см. табл.2.1).

Перевод чисел из 10 с/с в 2 с/с можно производить, используя формулу (2.1), а также через 8 с/с или 16 с/с.

Очевидно, что основания 8 с/с и 16 с/с есть степени основания 2 с/с: 23 = 8, а 24 = 16. Следовательно, для записи каждой цифры восьмеричного числа необходимо три двоичных разряда (триада), а для представления каждой цифры шестнадцатеричного числа – четыре разряда (тетрада). Представление десятичных, восьмеричных и шестнадцатеричных целых чисел приведено в табл.2.1.

Перевод двоичных чисел в 8 с/с и 16 с/с. Производится путем разбиения двоичного числа на триады и тетрады соответственно влево и вправо от запятой с последующей заменой триад и тетрад на их символьные эквиваленты в соответст­вии с табл.2.1. Недостающие позиции в триадах и тетрадах запол­няются нулями.

 

Таблица 2.1. Представление чисел.

10 c/c 2 c/c 8 c/c 16 c/c
0 0000 0 0
1 0001 1 1
2 0010 2 2
3 0011 3 3
4 0100 4 4
5 0101 5 5
6 0110 6 6
7 0111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F

Перевод чисел из 8 с/с и 16 с/с в двоичную. Производится заменой каждой цифры соответствующего числа двоичной триадой и двоичной тетрадой согласно таблице 2.1. Для дробных чисел можно написать аналогичную таблицу.

 

Пример. Перевести 10001,0­­12­  в 8 с/c и 16 с/c.

 

Запись: 010 001,0102 = 21,28

        0001 0001,01002 = 11,416

 

Двоичная арифметика

 

Правила выполнения арифметических действий очень просты. Они задаются таблицами сложения, вычитания и умножения (см.табл.2.2)

 

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

Таблицы

Двоичное сложение Двоичного вычитания Двоичного умножения
0 + 0 = 0 0 – 0 = 0 0 x 0 = 0
1 + 0 = 1 1 – 0 = 1 1 x 0 = 0
0 + 1 = 1 1 – 1 = 0 0 x 1 = 0
1 + 1 = 10 10 – 1 = 1 1 x 1 = 1

 

Правила арифметики во всех позиционных системах аналогичны (10 с/с, 2 с/с, 8 с/с и 16 с/с). Поэтому действия над двоичными числами производятся подобно сложению, вычитанию, умножению и делению целых, дробных десятичных и смешанных чисел в 10 с/с в соответствии с табл.2.2.

 

Пример. Заданы B = 110,12 и C = 102.

          Вычислить Д1 = B + C, Д2 = B – C, Д3 = B x C, Д4 = B / C.

 

+

1 1 0, 1  

+

6, 5      

-

1 1 0, 1  

-

6, 5                
  1 0     2           1 0     2                  
1 0 0 0, 1 2   8, 5 10       1 0 0, 1 2   4, 5 10              
                                                         
                                                         
 

x

1 1 0, 1  

x

6, 5    

110,1 / 10 = 11,012; 6,5 / 2 = 3,2510

 
      1 0     2                                      

+

        0   1 3, 0 10  

-

1 1 0 1 1 0 0    

-

6, 5 2      
1 1 0 1               1 0 0   1 1, 0 1 2 6   3, 2 5 10
  1 1 0 1, 0 2            

-

1 0 1          

-

0 5        
                          1 0 0             4        
                             

-

1 0 0        

-

1 0      
                              1 0 0         1 0      
                                    0             0      

 

Д1 = 1000,12; Д2 = 100,12; Д3 = 11012; Д4 = 11,012.

 

Благодаря простой двоичной арифметике при работе в 2 с/с упрощаются схемы арифметических устройств.

 

 

Разрядные сетки микроЭВМ

 

Один разряд двоичного числа представляет 1 бит информации (0 или 1). Для его хранения необходимо в микроЭВМ какое-нибудь техническое устройство, например, триггер. Совокупность таких устройств для представления в машине многоразрядного числа (сло­ва) называют регистром. 8 бит информации называют байтом, 16 бит, 32 бит или 64 - слово.

210 = 1024» 1000 = 1 кб – 1 килобайт,

1000 кб = 1 Мб – 1 мегабайт,

1000 Мб = 1 Гб – 1 гигабайт,

1000 Гб = 1 Тб – 1 терабайт.

В микроЭВМ применяют две формы представления чисел: для целых чисел и для представления чисел с плава­ющей запятой (экспоненциальная форма). Форма обычно используе­мых данных называют разрядной сеткой микроЭВМ.

Исходя из формулы (2.2), видно, что можно получить два вида разрядных, сеток для чисел с фиксированной запятой: запятая фиксируется пос­ле младшего разряда (все числа |N|>1); запятая фиксируется пе­ред старшим разрядом (все числа |N|<1).

 Для кодирования знака используется "знаковый" (старший) разряд разряд­ной сетки: 0 - соответствует плюсу, а 1 - минусу. При использова­нии обоих видов разрядных сеток для чисел с фиксированной запя­той необходимо, чтобы все данные не выходили за диапазон чисел, допустимых разрядной сеткой. С этой целью используется масштаби­рование.

Представление числа с плавающей запятой не требует масштаби­рования. Общий вид двоичных чисел: , где q - мантисса; p - порядок в двоичной системе счисления.

В разрядной сетке для чисел с плавающей запятой используются два знаковых разряда (для мантиссы и порядка), затем следуют мо­дуль порядка (обычно 7 разрядов) и модуль мантиссы. Двоичное число при таком представлении всегда имеет нормализованную ман­тиссу (до и после операций нормализация производится автомати­чески). Двоичное число нормализовано, если в старшем разряде мантиссы стоит единица.

 

 

Прямой и обратный коды

 

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

В микроЭВМ для представления часто применяют прямой, обрат­ный и дополнительный коды (ПК, ОК и ДК). Обратный и дополнитель­ный коды используются только для представления отрицательных чи­сел.

Код, полученный при преобразовании положительного числа называется прямым. Прямые коды двоичных чисел N и - N отличаются знаковыми раз­рядами. Для получения ОК числа - N необходимо все разряды, кроме знакового, поменять на противоположное значение. Если к ОК числа - N прибавить единицу младшего разряда, то получается дополнитель­ный код.

Пример. Записать ПК для N1 =  и ПК, ОК и ДК для N2 = - , используя восьмиразрядную сетку микроЭВМ.

ПК(N1) = 0 00001012

ПК(N2) = 1 00001012

OK(N2) = 1 11110102

ДК(N2) = 1 11110112

 

Задание.

Используя данные таблицы

1. Перевести число Д10 в 2 с/с, 8 с/с и 16 с/с.

2. Вычислить с помощью двоичной арифметики: С1 = А + В; С2 = А - В;   С3 = А х В; С4 = А / В.

3. Перевести числа А, В, С1÷С4 в 8 с/с, 16 с/с и 10 с/с.

4. Округлить А, В, С1÷С4 в 2 с/с до целой части, записать ПК. Изменив знак на противоположный, записать ОК и ДК. При запи­си использовать 16-разрядную сетку микроЭВМ.

 

Таблица 2.3. Варианты заданий

Вариант Десятичное число Д10 Двоичное число А2 Двоичное число В2
1 156,5 101000,101 1000,001
2 127,3 101111,01 101,01
3 118,4 110011,11 100,1
4 79,85 111000,01 100,1
5 132,75 111100,101 101
6 84,875 1000001,01 100,1
7 163,625 1000100,111 100,11
8 213,5 1001011,101 101
9 314,7 100100,01 110,1
10 146,27 101001,101 100,1

 

 

ЗАГРУЗКА ЯЗЫКА BASIC – ИНТЕРПРЕТАТОРА. ОСНОВНЫЕ ПОНЯТИЯ ЯЗЫКА. ПОЛУЧЕНИЕ ЛИСТИНГА ПРОСТЕЙШЕЙ ПРОГРАММЫ

 



Поделиться:


Последнее изменение этой страницы: 2020-12-09; просмотров: 236; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.219.11.19 (0.061 с.)