Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Арифметические операции

Читайте также:
  1. Активные операции.
  2. АРИФМЕТИЧЕСКИЕ ОСНОВЫ ЭВМ
  3. Банковские операции
  4. Бухгалтерские операции за период с 01.01.ХХ по 31.01.ХХ
  5. Валютные операции
  6. ВОЕННЫЕ ОПЕРАЦИИ ВЕЛИКОЙ ОТЕЧЕСТВЕННОЙ ВОЙНЫ

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

Для b = 2, 8 и 16 таблицы представлены ниже.

 

+    
     
     

 

´    
     
     

 

 

+                
                 
                 
                 
                 
                 
                 
                 
                 

 

´                
                 
                 
                 
                 
                 
                 
                 
                 

 


 

+                     A B C D E F
                      A B C D E F
                    A B C D E F  
                  A B C D E F    
                A B C D E F      
              A B C D E F        
            A B C D E F          
          A B C D E F            
        A B C D E F              
      A B C D E F                
    A B C D E F                  
A A B C D E F                    
B B C D E F                     1A
C C D E F                     1A 1B
D D E F                     1A 1B 1C
E E F                     1A 1B 1C 1D
F F                     1A 1B 1C 1D 1E

 

´                     A B C D E F
                                 
                      A B C D E F
            A C E           1A 1C 1E
          C F       1B 1E       2A 2D
        C       1C       2C       3C
      A F     1E     2D     3C     4B
      C     1E   2A     3C     4E   5A
      E   1C   2A     3F   4D   5B    
                                 
        1B   2D   3F     5A   6C   7E  
A   A   1E     3C     5A   6E     8C  
B   B     2C     4D     6E     8F 9A A5
C   C       3C       6C       9C A8 B4
D   D 1A       4E 5B       8F 9C A9 B6 C3
E   E 1C 2A           7E 8C 9A A8 B6 C4 D2
F   F 1E 2D 3C 4B 5A         A5 B4 C3 D2 E1

Примеры решения задач

Сложение.

10000000100(2) + 111000010(2) ----------- 10111000110(2) 223,2 (8) + 427,54(8) ------- 652,74(8) 3B3,6(16) + 38B,4(16) ------ 73E,A(16)

Вычитание.

110011,011(2) - 10101,1 (2) ---------- 11101,111(2) 1510,2 (8) - 1230,54(8) ------- 257,44(8) 27D,D8(16) -191,2(16) ------ EC,B8(16)

Умножение.

100111(2) ´ 1000111(2) -------- + 100111 + 100111 + 100111 ------------ 101011010001(2) 1170,64(8) ´ 46,3 (8) ----------- 355,234 + 7324,70 47432,0 ----------- 57334,134(8) 61,A(16) ´ 40,D(16) -------- 4F,52 + 1868 --------- 18B7,52(16)

Запись чисел в позиционных системах счисления

Для записи чисел системы счисления с основанием до 36 включительно, в качестве цифр используются арабские цифры (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) и затем буквы латинского алфавита (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z). При этом a = 10, b = 11 и т. д., иногда x = 10.

При одновременной работе с несколькими системами счисления основание системы обычно указывается в виде нижнего индекса, который записывается в десятичной системе:

12310 — это число 123 в десятичной системе счисления;

11110112 — то же число, но в двоичной системе.

В некоторых специальных областях применяются особые правила указания основания. Например, в программировании шестнадцатеричная система обозначается:

· в ассемблере и записях общего рода, не привязанных к конкретному языку, буквой h (от hexadecimal) в конце числа (синтаксис Intel);

· в Паскале знаком «$» в начале числа;

· в Си и многих других языках комбинацией 0x или 0X (от hexadecimal) в начале.

В некоторых диалектах языка Си по аналогии с «0x» используется префикс «0b» для обозначения двоичных чисел. (Обозначение «0b» не входит в стандарт ANSI C.)

ПРЕДСТАВЛЕНИЕ ДАННЫХ В ПАМЯТИ ЭВМ

Основные положения

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

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

Прямой код

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

При записи числа в прямом коде старший разряд является знаковым. Если его значение равно 0 – то число положительное, если 1 – то отрицательное. В остальных разрядах, называемых цифровыми разрядами, записывается двоичное представление модуля числа.

Функция кодирования двоичных чисел (в том числе целых чисел и смешанных дробей) в прямом коде имеет вид: , где n – номер знакового разряда. В частности, при кодировании правильных двоичных дробей (то есть чисел −1 < A < 1), n = 0 и функция кодирования принимает вид: .

Величина числа A в прямом коде определяется по следующей формуле: , где: – значение знакового разряда;число A имеет k разрядов справа от запятой (дробная часть) и n разрядов слева (целая часть), тут учитываются только цифровые разряды.

Как видно из последней формулы, знаковый разряд в прямом коде не имеет разрядного веса. При выполнении арифметических операций это приводит к необходимости отдельной обработки знакового разряда в прямом коде.

(n + 1) -разрядный прямой код (n цифровых разрядов и один знаковый) позволяет представлять целые числа в диапазоне и правильные двоичные дроби в диапазоне .

Примеры представления чисел

Десятичный код Двоичный код 8-разрядный прямой код
-5 -16   9/16 -9/16 105/128 -5/128 -101 -10000   0.1001 -0.1001 0.1101001 -0.0000101 00000000 – положит.ноль 10000000 – отрицат. ноль   0.1001000 1.1001000 0.1101001 1.0000101

В информатике прямой код используется главным образом для записи неотрицательных целых чисел. Его легко получить из представления целого числа в любой другой системе счисления. Для этого достаточно перевести число в двоичную систему счисления, а затем заполнить нулями свободные слева разряды разрядной сетки машины.

Однако у прямого кода есть два недостатка:

1. В прямом коде есть два варианта записи числа 0 (например, 00000000 и 10000000 в восьмиразрядном представлении).

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

Выполнение арифметических операций над числами в прямом коде затруднено, т.к. даже для сложения чисел с разными знаками требуется, кроме сумматора, иметь специальный блок-«вычитатель». Кроме того, при выполнении арифметических операций требуется особо обрабатывать значащий разряд, так как он не имеет веса. Также необходима обработка «отрицательного нуля». Таким образом, выполнение арифметических операций над числами в прямом коде требует сложной архитектуры центрального процессора и является малоэффективным.

Гораздо более удобным для выполнения арифметических операций является дополнительный код.

Обратный код

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

Обратный n -разрядный двоичный код положительного целого числа состоит из одноразрядного кода знака (двоичной цифры 0), за которым следует (n − 1)-разрядное двоичное представление модуля числа (обратный код совпадает с прямым кодом).

Обратный n-разрядный двоичный код отрицательного целого числа состоит из одноразрядного кода знака (двоичной цифры 1), за которым следует (n − 1)-разрядное двоичное число, представляющее собой инвертированное (n − 1)-разрядное представление модуля числа.

У числа 0 имеется два обратных кода: «положительный нуль» 00000000 и «отрицательный нуль» 11111111 (приведены
8-разрядные обратные коды).

n -разрядный обратный код позволяет представить числа в диапазоне .

Примеры представления чисел


Дата добавления: 2015-12-08; просмотров: 120 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.013 сек.)