АРИФМЕТИЧЕСКИЕ ОСНОВЫ РАБОТЫ ЭВМ




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

x    
     
     

 

+    
     
     

Правила выполнения арифметических действий над двоичными числами можно свести в таблицу:

Сложение Умножение
0+0=0 0x0=0
0+1=1 0x1=0
1+0=1 1x0=0
1+1=10 1x1=1

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

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

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

Пример 13. Выполнить операцию арифметического сложения двоичных чисел 110111,012 и 10011,12.

Решение:

55,25 0110111,01

+19,500010011,10

74,75 1001010,11

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

Умножение двоичных чисел производится путем образования частичных произведений и последующего их суммирования. Каждое частичное произведение равно 0, если в соответствующем разряде множителя стоит 0, или равно множимому, сдвинутому на соответствующее число разрядов влево, если в разряде множителя стоит 1.

Пример 14. Перемножить двоичные числа 111,12 и 1012.

Решение:

111,1

_ 101_

7,5 0000

___ 5___ 1111___

37,5 100101,1

Как и в предыдущем случае, в качестве проверки используем десятичные числа, соответствующие исходным двоичным.

В рассмотренном примере второй разряд множителя равен 0, поэтому второе частичное произведение также равно 0.

ЛОГИЧЕСКИЕ ОПЕРАЦИИ

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

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

Как ранее отмечалось, основной системой счисления ЭВМ является двоичная система счисления, в которой также используются только две цифры: 1 и 0. Таким образом, одни и те же цифровые устройства ЭВМ могут применяться для обработки как числовой информации в двоичной системе счисления, так и логических переменных. Это обуславливает универсальность схемной реализации процесса обработки информации в ЭВМ.

Широкое распространение имеют следующие логические операции: И (логическое умножение), ИЛИ (логическое сложение), НЕ (отрицание). В вычислительной технике они обозначаются соответственно AND (или Ù), OR (или Ú), NOT (или ¯). С помощью этих трех операций можно представить сколь угодно сложную логическую операцию (логическую функцию). Числа, участвующие в логической операции, называются операндами. Операции И и ИЛИ — двухоперандовые. Операция НЕ — однооперандовая.

Рассмотрим пять основных операций алгебры логики.

1. Операция отрицания. Отрицанием утверждения А называется утверждение, которое ложно, если А истинно, и истинно, если А ложно. Отрицание обозначается Ā (читается «не А »). Связь между значением истинности для утверждений А и Ā можно выразить с помощью следующей таблицы истинности для отрицания:

¯ А Ā
     
     

Из первой строки таблицы видно, что Ā ложно, если Аистинно. Вторая строка устанавливает, что Ā истинно, если А ложно.

Пример 15. Рассмотрим высказывание

А = {Город Нью-Йорк — столица США}.

Отрицанием этого высказывания будет высказывание

Ā ={Город Нью-Йорк не является столицей США}.

Было бы ошибкой считать отрицанием высказывания А высказывание

В = {Город Вашингтон — столица США}.

Часто говорят, что операции отрицания в обычной речи соответст­вует употребление частицы не. Это не всегда так. В самом деле, пусть

A={Это пособие написано не для любителей музыки},

тогда

Ā = {Это пособие написано не не для любителей музыки}

или, в соответствии с правилами русской речи,

Ā = {Это пособие написано для любителей музыки},

т. е. для построения отрицания надо убрать из высказывания частицу «не».

Пример 16. Записать результат выполнения логической операции .

Ответ: = 10010

Следует заметить, что результатом логических операций может быть число, отличное от исходных.

2. Операция дизъюнкции.. Дизъюнкцией утверждений A и B называется утверждение, которое истинно, если истинно хотя бы одно из утверждений A и B, и ложно, когда A и B ложны одновременно. Дизъюнкция обозначается символом A B (читается «A или B») и определяется следующей таблицей истинности:

A B A B
       
       
       
       

Пример 17. Даны два высказывания

А= {Завтра первый урок литература} и

В = {Завтра первый урок математика}.

Дизъюнкция этих высказываний

А В = {Завтра первый урок литература или математика}

будет истинной, если на первом уроке будет литература (2-я строка таблицы истинности) или математика (3-я строка таблицы), и ложной, если на первом уроке будет любой другой предмет или если урока вообще не будет (4-я строка таблицы).

Логические действия с двоичными числами выполняются поразрядно. Если количество разрядов в операндах неодинаково, следует дописать незначащие нули.

Пример 18. Логически сложить два двоичных числа 101000102 и 11112.

Решение:

Ответ: 10100010 1111=10101111

3. Операция конъюнкции. Конъюнкцией утверждений A и B называется утверждение, которое истинно, если истинны оба утверждения A и B, и ложно – в противном случае, т.е. когда хотя бы одно из утверждений ложно. Конъюнкция обозначается символом А В(читается «A и B») и определяется следующей таблицей истинности:

A B A B
       
       
       
       

Пример 19. Пусть

А = {Петя не любит математику} и

В = {Петя любит физику}.

Конъюнкция А В= {Петя не любит математику и любит физику} истинна только тогда, когда Петя любит физику, аматематику не любит.

В остальных трех случаях, т. е. когда Петя:

а) не любит математику и не любит физику,

б) любит математику и физику,

в) любит математику, но не любит физику высказывание А В ложно.

Для образования конъюнкции в русском языке используются союзы и, а, но, хотя, однако.

Пример 20. Логически перемножить два двоичных числа 111100112 и 1111112.

Решение:

00111111

Ответ: 11110011 111111 = 110011

4. Операция «исключающее или» (XOR, сложение по модулю 2). В случае 2 переменных результат выполнения операции является истинным тогда и только тогда, когда лишь один из аргументов является истинным. Для функции трёх и более переменных результат выполнения операции будет истинным только тогда, когда количество аргументов равных 1, составляющих текущий набор - нечетное.

A B A B
       
       
       
       

Пример 20. Произвести побитовую операцию XOR над двумя двоичными числами 101000102 и 11112.

Решение:

Ответ: 10100010 1111= .

5. Операция сдвига. Сдвиг, при котором уходящий бит исчезает, не влияя на оставшиеся биты, а на месте появившегося бита записывается бит 0.

Пример 21. Пусть у нас есть двоичное число 10101010.

Если сделать сдвиг влево на 1 бит, то получим число 01010100.

Если сделать сдвиг исходного числа вправо на 1 бит, то получим число 01010101.

Если сделать сдвиг исходного числа вправо на 4 бита, то получим число 00001010.

6. Операция циклического сдвига. При этом сдвиге уходящий бит появляется на месте появившегося свободного на другом конце числа.

Пример 22. Пусть у нас есть двоичное число 11111010.

Если сделать сдвиг влево на 1 бит, то получим число 11110101.

Если сделать сдвиг вправо на 1 бит, то получим число 01111101.

 

 

Вариант 1 Задание 1. 1) Переведите числа 110001100001 и 100110100,11 из двоичной системы счисления в десятичную. 2) Переведите числа 4521 и 308,12 из десятичной системы счисления в двоичную. 3) Переведите число 10101111001,011 из двоичной системы счисления в шестнадцатеричную. 4) Переведите число 38,А1 из шестнадцатеричной системы счисления в двоичную. 5) Переведите числа 4521 и 308,12 из десятичной системы счисления в шестнадцатеричную. 6) Переведите число 38F из шестнадцатеричной системы счисления в десятичную. Задание 2. 1) Сложите двоичные числа: 110011 + 110000. 2) Перемножьте двоичные числа: 110011 *11. 3) Запишите результаты логических операций: · , · , · , · . 4) Проведите над числом 101010111001 · операцию сдвига влево на 3 бита; · операцию циклического сдвига влево на 3 бита; · операцию сдвига вправо на 1 бит; · операцию циклического сдвига вправо на 1 бит.   Вариант 2 Задание 1. 1) Переведите числа 101010100 b 110100011,101 из двоичной системы счисления в десятичную. 2) Переведите числа 296 и 19,125 из десятичной системы счисления в двоичную. 3) Переведите число 100011010,11 из двоичной системы счисления в шестнадцатеричную. 4) Переведите число А9,35 из шестнадцатеричной системы счисления в двоичную. 5) Переведите числа 65 и 419,54 из десятичной системы счисления в шестнадцатеричную: 6) Переведите число А9В из шестнадцатеричной системы счисления в десятичную. Задание 2. 1) Сложите двоичные числа: 11011 + 1111 2) Перемножьте двоичные числа: 11001*10 3) Запишите результаты логических операций: · 1, · 1, · 1, · . 4) Проведите над числом 111010111011 · операцию сдвига влево на 2 бита; · операцию циклического сдвига влево на 2 бита · операцию сдвига вправо на 3 бита; · операцию циклического сдвига вправо на 3 бита. · Вариант 3 Задание 1. 1) Переведите числа 1100110 и 1011101,011 из двоичной системы счисления в десятичную. 2) Переведите числа 108 и 93,14 из десятичной системы счисления в двоичную. 3) Переведите число 11110101111,101 из двоичной системы счисления в шестнадцатеричную. 4) Переведите число AВС,42 из шестнадцатеричной системы счисления в двоичную. 5) Переведите числа 356 и 93,13 из десятичной системы счисления в шестнадцатеричную. 6) Переведите число ABC из шестнадцатеричной системы счисления в десятичную. Задание 2. 1) Сложите двоичные числа: 10101 + 101 2) Перемножьте двоичные числа: 1001 *111 3) Запишите результаты логических операций: · , · , · , · . 4) Проведите над числом 11010111111111001 · операцию сдвига влево на 1 бит; · операцию циклического сдвига влево на 1 бит; · операцию сдвига вправо на 2 бита; · операцию циклического сдвига вправо на 2 бита.   Вариант 4 Задание 1. 1) Переведите числа 10111001 и 1101000,11 из двоичной системы счисления в десятичную. 2) Переведите числа 67 и 104,625 из десятичной системы счисления в двоичную. 3) Переведите число 1011100000,0011 из двоичной системы счисления в шестнадцатеричную. 4) Переведите число41,В1 из шестнадцатеричной системы счисления в двоичную. 5) Переведите числа 395 и 104,45 из десятичной системы счисления в шестнадцатеричную 6) Переведите число 15В из шестнадцатеричной системы счисления в десятичную. Задание 2. 1) Сложите двоичные числа: 111111 + 1100. 2) Перемножьте двоичные числа: 1101*101. 3) Запишите результаты логических операций: · , · , · · . 4) Проведите над числом 11010101011100 · операцию сдвига влево на 2 бита; · операцию циклического сдвига влево на 2 бита; · операцию сдвига вправо на 3 бита; · операцию циклического сдвига вправо на 3 бита.   Вариант 5 Задание 1. 1) Переведите числа 10101100 и 11011101,001 из двоичной системы счисления в десятичную. 2) Переведите числа 102 и 221,5 из десятичной системы счисления в двоичную. 3) Переведите число 111100001100,1011 из двоичной системы счисления в шестнадцатеричную. 4) Переведите число 3ВА,3А из шестнадцатеричной системы счисления в двоичную. 5) Переведите числа 96 и 221,84 из десятичной системы счисления в шестнадцатеричную. 6) Переведите число 3ВА из шестнадцатеричной системы счисления в десятичную. Задание 2. 1) Сложите двоичные числа: 1101111 +1010011. 2) Перемножьте двоичные числа: 110011*11. 3) Запишите результаты логических операций: · , · , · , · . 4) Проведите над числом 1110110001010 · операцию сдвига влево на 3 бита; · операцию циклического сдвига влево на 3 бита · операцию сдвига вправо на 2 бита; · операцию циклического сдвига вправо на 2 бита. Вариант 6 Задание 1. 1) Переведите числа 10000100 и 11000011,01 из двоичной системы счисления в десятичную 2) Переведите числа 96 и 195,31 из десятичной системы счисления в двоичную. 3) Переведите число 110110010,01 из двоичной системы счисления в шестнадцатеричную. 4) Переведите число 48С,7 из шестнадцатеричной системы счисления в двоичную. 5) Переведите числа 514 и 195,17 из десятичной системы счисления в шестнадцатеричную. 6) Переведите число 4СА из шестнадцатеричной системы счисления в десятичную. Задание 2. 1) Сложите двоичные числа: 110011 + 1010 2) Перемножьте двоичные числа: 1000011*101 3) Запишите результаты логических операций: · , · , · , · . 4) Проведите над числом 1010100001110 · операцию сдвига влево на 1 бит; · операцию циклического сдвига влево на 1 бит; · операцию сдвига вправо на 3 бита; · операцию циклического сдвига вправо на 3 бита. Вариант 7 Задание 1. 1) Переведите числа 11100100 и 100111101,1 из двоичной системы счисления в десятичную. 2) Переведите числа 112 и 317,15 из десятичной системы счисления в двоичную. 3) Переведите число 10010001101,011 из двоичной системы счисления в шестнадцатеричную: 4) Переведите число 90F,52 из шестнадцатеричной системы счисления в двоичную. 5) Переведите числа 112 и 317,56 из десятичной системы счисления в шестнадцатеричную. 6) Переведите число F0C из шестнадцатеричной системы счисления в десятичную. Задание 2. 1) Сложите двоичные числа: 100011 + 1011100. 2) Перемножьте двоичные числа: 1011*111. 3) Запишите результаты логических операций: · ; · ; · ; · . 4) Проведите над числом 1110010101 · операцию сдвига влево на 2 бита; · операцию циклического сдвига влево на 2 бита · операцию сдвига вправо на 1 бит; · операцию циклического сдвига вправо на 1 бит. Вариант 8 Задание 1. 1) Переведите числа 101010111 и 100011000,101 из двоичной системы счисления в десятичную. 2) Переведите числа 144 и 280,11из десятичной системы счисления в двоичную. 3) Переведите число 100000000000,1 из двоичной системы счисления в шестнадцатеричную. 4) Переведите число ADF,1D из шестнадцатеричной системы счисления в двоичную. 5) Переведите числа 144 и 280,81 из десятичной системы счисления в шестнадцатеричную. 6) Переведите число ADF из шестнадцатеричной системы счисления в десятичную. Задание 2. 1) Сложите двоичные числа: 1111010 + 1011 2) Перемножьте двоичные числа: 1111 *111 3) Запишите результаты логических операций: · , · , · , · . 4) Проведите над числом 1011001101 · операцию сдвига влево на 2 бита; · операцию циклического сдвига влево на 2 бита; · операцию сдвига вправо на 3 бита; · операцию циклического сдвига вправо на 3 бита. Вариант 9 Задание 1. 1) Переведите числа 1000101010 и 100010111,11 из двоичной системы счисления в десятичную. 2) Переведите числа 87 и 600,25 из десятичной системы счисления в двоичную. 3) Переведите число 10110100001,11 из двоичной системы счисления в шестнадцатеричную. 4) Переведите число 23B1,5 из шестнадцатеричной системы счисления в двоичную. 5) Переведите числа 87 и 312,17 из десятичной системы счисления в шестнадцатеричную. 6) Переведите число A3B из шестнадцатеричной системы счисления в десятичную. Задание 2. 1) Сложите двоичные числа: 110 + 100010 2) Перемножьте двоичные числа: 11011*101 3) Запишите результаты логических операций: · , · , · , · . 4) Проведите над числом 1100111001 · операцию сдвига влево на 3 бита; · операцию циклического сдвига влево на 3 бита · операцию сдвига вправо на 1 бит; · операцию циклического сдвига вправо на 1 бит. Вариант 10 Задание 1. 1) Переведите числа 11010100 и 11101,011 из двоичной системы счисления в десятичную. 2) Переведите числа 302 и 11,624 из десятичной системы счисления в двоичную. 3) Переведите число 10011110011,1 из двоичной системы счисления в шестнадцатеричную: 4) Переведите число 9AF,38 из шестнадцатеричной системы счисления в двоичную. 5) Переведите числа 302 и 371,25 из десятичной системы счисления в шестнадцатеричную. 6) Переведите число BC3 из шестнадцатеричной системы счисления в десятичную. Задание 2. 1) Сложите двоичные числа: 10010 + 111 2) Перемножьте двоичные числа: 10111*101 3) Запишите результаты логических операций: · , · , · , · . 4) Проведите над числом 101011100110 · операцию сдвига влево на 2 бита; · операцию циклического сдвига влево на 2 бита · операцию сдвига вправо на 3 бита; · операцию циклического сдвига вправо на 3 бита.      

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту:

Обратная связь