Введение. Арифметические и логические основы построения ЭВМ Арифметические и логические основы эвм

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

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

Логические переменные определяют состояние системы или принадлежность её к определённому классу состояний (коммутация каналов, управление работой ЭВМ по программе и т. п.).

Логические переменные могут принимать только два значения: истина и ложь. В устройствах цифровой обработки информации этим двум значениям переменных ставится в соответствие два уровня напряжения: высокий -- (логическая «1» ) и низкий -- (логический 0»). Однако в эти значения не вкладывается смысл количества.

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

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

1 Арифметические и логические основы эвм

1.1 Арифметические основы эвм

В настоящее время в обыденной жизни для кодирования числовой информации используется десятичная система счисления с основанием 10, в которой используется 10 элементов обозначения: числа 0,1,2,…8,9. В первом (младшем) разряде указывается число единиц, во втором – десятков, в третьем – сотен и т. д.; иными словами, в каждом следующем разряде вес разрядного коэффициента увеличивается в 10 раз.

В цифровых устройствах обработки информации используется двоичная система счисления с основанием 2, в которой используется два элемента обозначения: 0 и 1. Веса разрядов слева направо от младших разрядов к старшим увеличиваются в 2 раза, то есть имеют такую последовательность: 8421. В общем виде эта последовательность имеет вид:

и используется для перевода двоичного числа в десятичное. Например, двоичное число 101011 эквивалентно десятичному числу 43:

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

Бит или двоичный разряд определяет значение одного какого-либо знака в двоичном числе. Например, двоичное число 101 имеет три бита или три разряда. Крайний справа разряд, с наименьшим весом, называется младшим, а крайний слева, с наибольшим весом, – старшим .

Байт определяет 8-разрядную единицу информацию, 1байт=2 3 бит, например, 10110011 или 01010111 и т. д.,
,

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

Основанием шестнадцатеричной системы счисления является число 16=, в которой используется 16 элементов обозначения: числа от 0 до 9 и буквы А,B,C,D,E,F. Для перевода двоичного числа в шестнадцатеричное достаточно двоичное число разделить на четырёх – битовые группы: целую часть справа налево, дробную – слева направо от запятой. Крайние группы могут быть неполными.

Каждая двоичная группа представляется соответствующим шестнадцатеричным символом (таблица 1). Например, двоичное число 0101110000111001 в шестнадцатеричной системе выражается числом 5С39.

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

Двоично – десятичный код образуется заменой каждой десятичной цифры числа четырёхразрядным двоичным представлением этой цифры в двоичном коде (См. таблицу 1). Например, число 15 представляется как 00010101 BCD (Binary Coded Decimal). При этом в каждом байте располагаются две десятичные цифры. Заметим, что двоично–десятичный код при таком преобразовании не является двоичным числом, эквивалентным десятичному числу.

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

Таблица 2.2 Правила сложения двоичных цифр

Здесь показаны правила сложения двоичных цифр а i , b i , одноимен­ных разрядов с учетом возможных переносов из предыдущего разря­да р i -1 .

Подобные таблицы можно было бы построить для любой другой арифметической или логической операции (вычитание, умножение и т.д.), но именно данные этой таблицы положены в основу выполнения любой операции ЭВМ. Под знак чисел отводится специальный знако­вый разряд. Знак «+» кодируется двоичным нулем, а знак «-» - еди­ницей. Действия над прямыми кодами двоичных чисел при выполне­нии операций создают большие трудности, связанные с необходимос­тью учета значений знаковых разрядов:

Во-первых, следует отдельно обрабатывать значащие разряды чи­сел и разряды знака;

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

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

Машинные коды

Прямой код двоичного числа образуется из абсолютного значения этого числа и кода знака (нуль или единица) перед его старшим чис­ловым разрядом.

Пример 2.5.

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

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

Пример 2.6.

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

Сложение положительного числа С с его отрицательным значени­ем в обратном коде дает так называемую машинную единицу МЕок=1¦ 11…111, состоящую из единиц в знаковом и в значащих разрядах числа;

Нуль в обратном коде имеет двоякое значение. Он может быть как положительным числом - 0¦ 00...0, так и отрицательным - 1 ¦ 11...11. Значение отрицательного нуля совпадает с МЕок. Двой­ственное представление нуля явилось причиной того, что в совре­менных ЭВМ все числа представляются не обратным, а дополни­тельным кодом.

Дополнительный код положительных чисел совпадает с их прямым кодом. Дополнительный код отрицательного числа представляет со­бой результат суммирования обратного кода числа с единицей млад­шего разряда (2 0 - для целых чисел, 2 - k - для дробных).

Пример 2.7.

Укажем основные свойства дополнительного кода:

Сложение дополнительных кодов положительного числа С с его от­рицательным значением дает так называемую машинную едини­цу дополнительного кода:

МЕдк=МЕок+2 0 =10¦ 00...00,

т.е. число 10 (два) в знаковых разрядах числа;

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

Модифицированные обратные и дополнительные коды двоичных чисел отличаются соответственно от обратных и дополнительных кодов удвоением значений знаковых разрядов. Знак «+» в этих кодах кодируется двумя нулевыми знаковыми разрядами, а знак «-» - двумя единичными разрядами.

Пример 2.8.

Целью введения модифицированных кодов являются фиксация и обнаружение случаев получения неправильного результата, когда значение результата превышает максимально возможный результат в отведенной разрядной сетке машины. В этом случае перенос из зна­чащего разряда может исказить значение младшего знакового разря­да. Значение знаковых разрядов «01» свидетельствует о положитель­ном переполнении разрядной сетки, а «10» - об отрицательном пере­полнении. В настоящее время практически во всех моделях ЭВМ роль удвоенных разрядов для фиксации переполнения разрядной сетки иг­рают переносы, идущие в знаковый и из знакового разряда.

1. ФОРМЫ ПРЕДСТАВЛЕНИЯ ЧИСЕЛ.. 6

2. ДВОИЧНАЯ СИСТЕМА СЧИСЛЕНИЯ.. 13

3. ВОСЬМЕРИЧНАЯ СИСТЕМА СЧИСЛЕНИЯ.. 15

4. ШЕСТНАДЦАТЕРИЧНАЯ СИСТЕМА СЧИСЛЕНИЯ.. 17

5. ДВОИЧНО-ДЕСЯТИЧНЫЕ ЧИСЛА.. 19

6. ДВОИЧНАЯ АРИФМЕТИКА.. 20

7. АРИФМЕТИКА В ОБРАТНОМ И ДОПОЛНИТЕЛЬНОМ КОДАХ 22

8. МАТЕМАТИЧЕСКАЯ ЛОГИКА.. 25

ОТВЕТЫ К УПРАЖНЕНИЯМ.. 35


ПРЕДИСЛОВИЕ

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

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

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


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

Для быстрого выполнения преобразований чисел из одной системы счисления в другую, помимо умения применять стандартные алгоритмы перевода, студенты должны помнить значения целых степеней числа 2 от 0 до 10, представление чисел от 0 до 16 в системах счисления с основаниями 2, 8, 10 и 16, а также знать свойства систем счисления с основаниями кратными 2.

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

При выполнении упражнений из раздела «Математическая логика» необходимо твердо усвоить символику и определения (таблицы истинности) трех основных логических операций. При вычислении значений логических выражений необходимо помнить приоритет выполнения логических операций.



В конце учебного пособия приводятся ответы к упражнениям.


ВВЕДЕНИЕ

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

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

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


ФОРМЫ ПРЕДСТАВЛЕНИЯ ЧИСЕЛ

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



Проанализируем «технологию» решения простой задачи - подсчета однородных предметов. Допустим, на столе лежат спички. Необходимо определить их количество и записать его: одна спичка - 1; еще одна спичка - 1; и т.д. Получим запись: 111111, где каждая спичка обозначена символом 1. Подсчитаем количество единиц (символов спичек) и запишем это количество в обычной (привычной) для нас форме - 6 или по-другому - VI. Итак, 6 = VI = 111111, т.е. количество спичек записано в различной форме. Форма записи 111111 очень громоздка; форма записи числа 6 наиболее удобна и привычна для нас.

В разные исторические периоды развития человечества для подсчетов и вычислений использовались те или иные системы счисления. Например, довольно широко была распространена двенадцатеричная система. Многие предметы (ножи, вилки, тарелки, носовые платки и т.д.) и сейчас считают дюжинами. Число месяцев в году - двенадцать.

Двенадцатеричная система счисления сохранилась в английской системе мер (например, 1 фут = 12 дюймов) и в денежной системе (1 шиллинг = 12 пенсов).

В древнем Вавилоне существовала весьма сложная шестидесятеричная система. Она, как и двенадцатеричная система, в какой-то степени сохранилась и до наших дней (например, в системе измерения времени: 1 ч = 60 мин, 1 мин = 60 с, аналогично в системе измерения углов: 1° = 60 мин, 1 мин = 60 с).

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

Десятичная система измерения возникла в Индии. Впоследствии ее стали называть арабской потому, что она была перенесена в Европу арабами. Цифры, которыми мы теперь пользуемся, - арабские.

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

Система счисления, в которой величина цифры определяется ее местоположением (позицией), называется позиционной. Таким образом, десятичная система счисления является позиционной. Римская система счисления не является позиционной, т.е. положение цифр не меняет ее значения. Например, число 9 запишем как IX, а число 11 - как XI. При этом знак I в обоих случаях имеет одно и то же значение - единица, только в одном случае он вычитается из десяти (X), а в другом случае - прибавляется. В ЭВМ используются только позиционные системы счисления. Число различных цифр системы счисления называется ее основанием S.

В общепринятой десятичной системе счисления используется десять различных цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Позиции цифр в записи числа называют разрядами. В десятичной системе счисления мы имеем дело с разрядами единиц, десятков, сотен и т. д., а также с разрядами десятых, сотых, тысячных и т. д. долей единицы. Другими словами, в десятичной системе счисления «вес» каждого разряда в 10 раз больше «веса» предыдущего. Следовательно, всякое число в десятичной системе счисления образуется как сумма различных целых степеней десяти с соответствующими коэффициентами a i (0, 1, .... 9), взятыми из алфавита данной системы счисления. Таким образом, запишем десятичное число в общем виде:

А = а 0 ×10 n +а 1 ×10 n –1 +а 2 ×10 n –2 +…+а n –1 ×10 1 +а n ×10 0 = а 0 a 1 …a n –1 a n .

Величина числа А определяется коэффициентами при степенях числа 10. Отсюда видно, что число 10 является основанием системы счисления, которая в данном случае называется десятичной. Например, десятичную запись 245,83 можно представить в виде:

245,83 = 2×10 2 + 4×10 1 + 5×10 0 + 8×10 –1 + 3×10 –2 .

Опуская различные степени десяти, записывают только коэффициенты при этих степенях, т. е. 245,83. Аналогично:

531 = 5×10 2 + 3×10 1 + 1×10 0 = 531;

3527 = 3×10 3 + 5×10 2 + 2×10 1 + 7×10 0 = 3527;

28395 = 2×10 4 + 8×10 3 + 3×10 2 + 9×10 1 + 5×10 0 = 28395.

Для физического представления чисел в ЭВМ необходимы элементы, которые могут находиться в одном из нескольких устойчивых состояний. Число таких состояний должно равняться основанию принятой системы счисления. Тогда каждое состояние будет представлять соответствующую цифру из алфавита данной системы счисления. Наиболее простыми с точки зрения технической реализации являются так называемые двухпозиционные элементы, способные находиться в одном из двух устойчивых состояний - «включено» или «выключено». Например, электромагнитное реле замкнуто или разомкнуто, магнитный материал намагничен или размагничен, транзисторный ключ находится в проводящем или запертом состоянии и т.п. Одно из этих устойчивых состояний может представлять цифра 0, а другое - цифра 1.

Простота технической реализации двухпозиционных элементов обеспечила наибольшее распространение в ЭВМ двоичной системы счисления. Основание этой системы S = 2. В ней используются лишь две цифры: 0 и 1. Любое число в двоичной системе счисления представляется в виде суммы целых степеней ее основания S = 2, умноженных на коэффициенты; 0 или 1. Например, двоичное число

11011,01 2 = 1×2 4 + 1×2 3 + 0×2 2 + 1×2 1 +

1×2 0 + 0×2 –1 + 1×2 - 2 = 16 + 8 + 2 + 1 + 0,25 = 27,25 10 ,

как это следует из приведенного разложения, соответствует десятичному числу 27,25 10 . Аналогично:

12 10 = 1×2 3 + 1×2 2 + 0×2 1 + 0×2 0 = 1100 2 ;

42 10 = 1×2 5 + 0×2 4 + 1×2 3 + 0×2 2 + 1×2 1 + 0×2 0 = 101010 2 .

Кроме двоичной в ЭВМ используются также восьмеричная и шестнадцатеричная системы счисления, которые применяются для более короткой и удобной записи двоичных кодов. Основания этих систем соответствуют целым степеням числа 2 (8 = 2 3 ; 16 = 2 4), поэтому для них исключительно просты правила перевода в двоичную систему счисления и наоборот.

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

В международной системе обозначений приведенные в таблице 1 коды обозначаются следующим образом: десятичный - DEC (decimal), двоичный - BIN (binary), восьмеричный - OCT (octal), шестнадцатеричный - HEX (hexadecimal), двоично-десятичный - BDC (binary-decimal code).

В ЭВМ применяются две формы представления чисел: с фиксированной запятой (точкой) и с плавающей запятой (точкой). Иначе эти формы соответственно называются естественной и полулогарифмической. Для названных форм представления чисел выделяется определенное количество nразрядов, образующих разрядную сетку ЭВМ. С увеличением n увеличиваются диапазон представляемых чисел и точность выполняемых расчетов.

При естественной форме число представляется в виде целой части числа и отделенной от нее точкой дробной части. Если, например, для целой и дробной частей числа отводится по три десятичных разряда, то число 245,6 будет представлено в виде: 245.600. Здесь точка, отделяющая целую часть числа от дробной, зафиксирована после третьего разряда.

Таблица 1

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

Десятичный Двоичный Восьмеричный Шестнадцате-ричный Двоично-десятичный
А 0001 0000
В 0001 0001
С 0001 0010
D 0001 0011
Е 0001 0100
F 0001 0101
0001 0110
0001 0111
0001 1000
0001 1001
0010 0000

Обычно точку фиксируют справа от самого младшего разряда, и поэтому в такой форме могут быть представлены только целые числа. Используются два варианта представления целых чисел: без знака и со знаком. В первом случае все разряды служат для представления модуля числа. Во втором случае для представления знака числа выделяется крайний слева разряд, в котором записывается 0 для положительных чисел и 1 - для отрицательных.

Диапазон чисел, представленных с фиксированной точкой, ограниченный. Так, в n-разрядной сетке числа хбез знака могут быть представлены в диапазоне 0 £ x £ 2 n -1. Для представления чисел, не укладывающихся в этот диапазон, в процессе программирования вводят соответствующие масштабные коэффициенты. Необходимость масштабирования данных - это существенный недостаток представления чисел с фиксированной точкой. Другой недостаток заключается в том, что при такой форме представления чисел относительная точность выполняемых расчетов зависит от значения чисел и достигает максимума при выполнении операций с максимально возможными числами.

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

В форме с плавающей точкой любое число Nпредставляется в виде произведения двух сомножителей: N = m×S р, где m - мантисса числа (|m|)<1); р - порядок числа (целое число); S - основание системы счисления (целое число).

Например, десятичное число 6,15 в форме с плавающей точкой (запятой) можно записать следующим образом:

6,15 = 0.615×10 1 ;

6,15 = 0.0615×10 2 ;

6,15 = 0.00615×10 3 и т. д.

С изменением порядка в ту или иную сторону точка (запятая) как бы «плавает» в изображении числа. Таким образом, при представлении чисел с плавающей точкой в разрядной сетке ЭВМ необходимо записать со своими знаками мантиссу ±m и порядок ±р. Знак числа при этом совпадает со знаком мантиссы.

Для заданной разрядности мантиссы точность вычислений становится наибольшей, если мантисса представлена в нормализованном виде. Модуль нормализованной мантиссы должен удовлетворять условию (1/S) £ |m| < 1, при котором старший разряд мантиссы в S-ричной системе счисления не должен быть равен нулю. В процессе вычислений возможно нарушение нормализации вправо, когда |m| < (1/S), или влево, когда |m| ³ 1. В первом случае мантисса сдвигается влево до появления в старшем разряде ближайшей единицы. При этом в освобождающиеся младшие разряды мантиссы записываются нули и проводится соответствующее уменьшение порядка числа. При нарушении нормализации мантиссы влево производится ее сдвиг вправо с соответствующим увеличением порядка числа. Младшие разряды мантиссы, выходящие при этом за пределы разрядной сетки, отбрасываются.

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


ДВОИЧНАЯ СИСТЕМА СЧИСЛЕНИЯ

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

Перевод числа из десятичной системы счисления в двоичную производится методом последовательного деления числа на 2 до тех пор, пока частное от деления не станет равным 1. Число в двоичной системе счисления записывается в виде остатков от деления, начиная с последнего частного, справа налево:

8 10 = 1×2 3 + 0×2 2 + 0×2 1 + 0×2 0 ;

8 10 = 8 + 0 + 0 + 0.

Перевод десятичного дробного числа в двоичную систему осуществляется в два этапа: вначале переводится целая часть числа (см. выше), затем дробная. Дробная часть переводится путем последовательного умножения дробной части на два. Двоичное число записывается в виде целых частей чисел, полученных при умножении только дробной части, начиная сверху после запятой. При этом задается точность выражений. Например, число 0,41 10 в десятичной системе преобразуется в число 0,011 2 в двоичной системе счисления:

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

Упражнения

1. Преобразовать в десятичный код следующие двоичные числа:

а) 0001; б) 0101; в) 1000; г) 1011; д) 1111; е) 0111; ж) 10000000; з) 00010000; и) 00110011; к) 01100100; л) 00011111; м) 11111111.

2. Преобразовать в двоичный код следующие десятичные числа:

а) 23; б) 39; в) 55; г) 48.

3. Преобразовать десятичное число в двоичный код: 204;

4. Преобразовать двоичное число в десятичный код: 11101110.

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

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

СС называется позиционной , если одна и та же цифра имеет различное значение, которое определяется ее местом в числе.

Десятичная СС является позиционной. На рисунке слева значение цифры 9 изменяется в зависимости от ее положения в числе. Первая слева девятка делает вклад в общее значение десятичного числа 900 единиц, вторая - 90, а третья - 9 единиц.

Римская СС является непозиционной . Значение цифры Х в числе ХХI остается неизменным при вариации ее положения в числе.

Количество различных цифр, употребляемых в позиционной СС, называется основанием СС. В десятичной СС используется десять цифр: 0, 1, 2, ..., 9; в двоичной СС - две: 0 и 1; в восьмеричной СС - восемь: 0, 1, 2, ..., 7. В СС с основанием Q используются цифры от 0 до Q – 1.

В общем случае в позиционной СС с основанием Q любое число х может быть представлено в виде полинома :

x = a n Q n + a n-1 Q n-1 + … + a 1 Q 1 + a 0 Q 0 + a -1 Q -1 + a -2 Q -2 + …+ a -m Q -m

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

Принято представлять числа в виде последовательности входящих в полином соответствующих цифр (коэффициентов):

x = a n a n-1 … a 1 a 0 , a -1 a -2 … a -m

Запятая отделяет целую часть числа от дробной части. В ВТ чаще всего для отделения целой части числа от дробной части используют точку . Позиции цифр, отсчитываемые от точки, называют разрядами . В позиционной СС вес каждого разряда отличается от веса (вклада) соседнего разряда в число раз, равное основанию СС. В десятичной СС цифры 1-го разряда - единицы, 2-го - десятки, 3-го - сотни и т. д.

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

(15) 10 ; (1011) 2 ; (735) 8 ; (1EA9F) 16 .

Иногда скобки опускают и оставляют только индекс:

15 10 ; 1011 2 ; 735 8 ; 1EA9F 16 .

Есть еще один способ обозначения СС: при помощи латинских букв, добавляемых после числа. Например,

15D; 1011B; 735Q; 1EA9FH.

Установлено, что, чем больше основание СС, тем компактнее запись числа. Так двоичное изображение числа требует примерно в 3,3 раза большего количества цифр, чем его десятичное представление. Рассмотрим два числа: 97D = 1100001B. Двоичное представление числа имеет заметно большее количество цифр.

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

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

Заметим, что отечественная ЭВМ «Сетунь» (автор - Н.П. Брусенцов) работала с использованием троичной системы счисления.

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

Задача перевода из одной системы счисления в другую часто встречается при программировании и особенно часто при программировании на языке Ассемблера. Например, при определении адреса ячейки памяти, для получения двоичного или шестнадцатеричного эквивалента десятичного числа. Отдельные стандартные процедуры языков программирования Паскаль, Бейсик, HTML и Си требуют задания параметров в шестнадцатеричной системе счисления. Для непосредственного редактирования данных, записанных на жесткий диск, также необходимо умение работать с шестнадцатеричными числами. Отыскать неисправность в ЭВМ практически невозможно без представлений о двоичной системе счисления. Без знания двоичной СС невозможно понять принципы архивации, криптографии и стеганографии. Без знания двоичной СС и Булевой алгебры невозможно представить, как происходит слияние объектов в векторных графических редакторах, которые используют логические операции ИЛИ, И, И-НЕ.

В табл. 1 приведены некоторые числа, представленные в различных СС.

Таблица 1

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

Десятичная

Двоичная

Восьмеричная

Шестнадцатерич.

Рассмотрим правило перехода из восьмеричной СС в двоичную СС.

Еще одно правило перевода чисел:

Пример 1 . Перевести число 305.4Q из восьмеричной СС в двоичную СС.

Решение.

Отмеченные крайние нули следует отбросить.

Рассмотрим еще одно правило:

Пример 3. Перевести число 111001100.001В из двоичной СС в восьмеричную СС.

Решение.

Пример 5. Перевести число 11011.11В из двоичной СС в десятичную СС.

  • Административно-правовые основы деятельности центров ГСЭН
  • Акмеологические основы самосовершенствования личности
  • Анализ ФСП основывается главным образом на относительных показателях, так как абсолютные показатели баланса в условиях инфляции сложно привести в сопоставимый вид.
  • АНОТАЦИЯ к электронному учебнику «Основы системного анализа»
  • Лекция 1. Введение Арифметические и логические основы ЭВМ. Арифметические основы ЭВМ. Логические основы ЭВМ. Основные положения алгебры логики. Логические элементы. Законы и тождества алгебры логики.

    Электронные вычислительные машины выполняют арифметические и логические операции, при этом используется два класса переменных: числа и логические переменные. Числа несутинформацию о количественных характеристиках системы;наднимипроизводятся арифметическиедействия. Логические переменные определяют состояние системы или принадлежность её к определённому классу состояний (коммутация каналов, управление работой ЭВМ по программе ит.п.).Логические переменные могут принимать только два значения: истина и ложь. В устройствах цифровой обработки информации этим двум значениям переменных ставится в соответствие два уровня напряжения: высокий- (логическая«1» )инизкий-(логический0»). Однако в эти значения не вкладывается смысл количества. Элементы, осуществляющие простейшие операции над такими двоичными сигналами, называют логическими. На основе логических элементов разрабатываются устройства, выполняющие и арифметические, и логические операции.

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

    Арифметические основы ЭВМ

    В настоящее время в обыденной жизни для кодирования числовой информации используется десятичная система счисления с основанием 10, в которой используется 10 элементов обозначения: числа 0, 1, 2, … 8, 9. В первом (младшем) разряде указывается число единиц, во втором - десятков, в третьем - сотен и т.д.; иными словами, в каждом следующем разряде вес разрядного коэффициента увеличивается в 10 раз.

    В цифровых устройствах обработки информации используется двоичная система счисления с основанием 2, в которой используется два элемента обозначения: 0 и 1. Веса разрядов слева направо от младших разрядов к старшим увеличиваются в 2 раза, то есть имеют такую последовательность: 8421. В общем виде эта последовательность имеет вид:

    …2 5 2 4 2 3 2 2 2 1 2 0 ,2 -1 2 -2 2 -3 …

    и используется для перевода двоичного числа в десятичное. Например, двоичное число 101011 эквивалентно десятичному числу 43:

    2 5 ·1+2 4 ·0+2 3 ·1+2 2 ·0+2 1 ·1+2 0 ·1=43

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

    Бит или двоичный разряд определяет значение одного какого-либо знака в двоичном числе. Например, двоичное число 101 имеет три бита или три разряда. Крайний справа разряд, с наименьшим весом, называется младшим, а крайний слева, с наибольшим весом, - старшим .

    Байт определяет 8-разрядную единицу информацию, 1 байт=23 бит, например, 10110011 или 01010111 и т.д., 1 кбайт = 2 10 байт, 1 Мбайт = 2 10 кбайт = 2 20 байт.

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

    Основанием шестнадцатеричной системы счисления является число 16=2 4 , в которой используется 16 элементов обозначения: числа от 0 до 9 и буквы A, B, C, D, E, F. Для перевода двоичного числа в шестнадцатеричное достаточно двоичное число разделить на четырёхбитовые группы: целую часть справа налево, дробную - слева направо от запятой. Крайние группы могут быть неполными.

    Каждая двоичная группа представляется соответствующим шестнадцатеричным символом (таблица 1). Например, двоичное число 0101110000111001 в шестнадцатеричной системе выражается числом 5C39.

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

    Двоично-десятичный код образуется заменой каждой десятичной цифры числа четырёхразрядным двоичным представлением этой цифры в двоичном коде (См. таблицу 1). Например, число 15 представляется как 00010101 BCD (BinaryCodedDecimal). При этом в каждом байте располагаются две десятичные цифры. Заметим, что двоично-десятичный код при таком преобразовании не является двоичным числом, эквивалентным десятичному числу.