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

Подписаться
Вступай в сообщество «l-gallery.ru»!
ВКонтакте:

В настоящее время в обыденной жизни для кодирования числовой информации используется десятичная система счисления с основанием 10, в которой используется 10 элементов обозначения: числа 0,1,2,…8,9. В первом (младшем) разряде указывается число единиц, во втором – десятков, в третьем – сотен и т. д.; иными словами, в каждом следующем разряде вес разрядного коэффициента увеличивается в 10 раз.
В цифровых устройствах обработки информации используется двоичная система счисления с основанием 2, в которой используется два элемента обозначения: 0 и 1.
Например, двоичное число 101011 эквивалентно десятичному числу 43:
В цифровых устройствах используются специальные термины для обозначения различных по объёму единиц информации: бит, байт, килобайт, мегабайт и т. д. Бит или двоичный разряд определяет значение одного какого-либо знака в двоичном числе. Например, двоичное число 101 имеет три бита или три разряда. Крайний справа разряд, с наименьшим весом, называется младшим, а крайний слева, с наибольшим весом, – старшим.
Байт определяет 8-разрядную единицу информацию, 1байт=23 бит, например, 10110011 или 01010111 и т. д.,
Для представления многоразрядных чисел в двоичной системе счисления требуется большое число двоичных разрядов. Запись облегчается, если использовать шестнадцатеричную систему счисления.
Основанием шестнадцатеричной системы счисления является число 16=, в которой используется 16 элементов обозначения: числа от 0 до 9 и буквы А,B,C,D,E,F. Для перевода двоичного числа в шестнадцатеричное достаточно двоичное число разделить на четырёх – битовые группы: целую часть справа налево, дробную – слева направо от запятой. Крайние группы могут быть неполными.
Каждая двоичная группа представляется соответствующим шестнадцатеричным символом (таблица 1). Например, двоичное число 0101110000111001 в шестнадцатеричной системе выражается числом 5С39.
Пользователю наиболее удобна десятичная система счисления. Поэтому многие цифровые устройства, работая с двоичными числами, осуществляют приём и выдачу пользователю десятичных чисел. При этом применяется двоично – десятичный код.
Двоично – десятичный код образуется заменой каждой десятичной цифры числа четырёхразрядным двоичным представлением этой цифры в двоичном коде. Например, число 15 представляется как 00010101 BCD (Binary Coded Decimal). При этом в каждом байте располагаются две десятичные цифры. Заметим, что двоично–десятичный код при таком преобразовании не является двоичным числом, эквивалентным десятичному числу.
Раздел математической логики, изучающий связи между логическими переменными, имеющими только два значения, называется алгеброй логики. Алгебра логики разработана английским математиком Дж. Булем и часто называется булевой алгеброй. Алгебра логики является теоретической базой для построения систем цифровой обработки информации. Вначале на основе законов алгебры логики разрабатывается логическое уравнение устройства, которое позволяет соединить логические элементы таким образом, чтобы схема выполняла заданную логическую функцию.

  • Арифметические и логические основы построения ЭВМ . В настоящее время в обыденной жизни для кодирования числовой информации используется десятичная система счисления с основанием 10, в которой используется 10 элементов обозначения: числа 0,1,2,…8,9. В первом...


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


  • Название «электронная вычислительная машина » соответствует изначальной области применения ЭВМ - выпо... подробнее ». Арифметические и логические основы построения ЭВМ .


  • 1642 г. - Паскаль разработал модель вычислительной машины для выполнения арифметических действий (построена в 1845 г. и имела название «Паскалево колесо»).
    Ведутся исследования в области оптоэлектроники и построению на ее базе ЭВМ ...


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


  • Достаточно скачать шпаргалки по логическому программированию - и никакой экзамен вам не страшен!
    Основы программирования на Турбо-Прологе: арифметические вычисления и операции сравнения.


  • Компьютерное моделирование - основа представления знаний в ЭВМ (построения различных баз знаний).
    6) Тестирование и отладка: - синтаксическая отладка. - семантическая отладка (отладка логической структуры). - тестовые расчеты, анализ результатов тестирования...


  • Метод – это путь, способ достижения цели, Построение дерева отказов.
    3. определяем отношения между вызывающими и головными событиями в терминах логических операций «И» и «ИЛИ».


  • Они имеют большое значение для науки, являются столпами логики , ибо без этих законов логика немыслима. Логические законы – это объективно существующие и необходимо применяемые правила построения логического мышления.


  • Инфологическая модель является исходной для построения даталогической модели БД и служит промежуточной моделью для специалистов предметной области (для
    Затем на ее основе строятся концептуальная (логическая ), внутренняя (физическая) и внешняя модели.

Найдено похожих страниц:10


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

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

2.1.1 Представление данных в ЭВМ

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

За единицу информации принимается один бит.

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

Последовательность битов, имеющая определенный смысл, называется полем.

Поле длиной 8 бит называется байтом.

Байт, как правило, является минимальной (неделимой) единицей информации, с которой оперирует ЭВМ. Все остальные единицы информации являются его производными (рис. 2.1).

Рис. 2.1. Структурные единицы информации

Основной структурной единицей информации, обрабатываемой ЭВМ, является машинное слово.

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

Последовательность полей, байтов или слов, имеющих одинаковый смысл, образуют массив.

Группа массивов может объединяться в сегмент. Количество информации в больших массивах оценивается с помощью производных единиц, кратных количеству байтов в степени числа два (1кбайт = 1024 байт = 2 10 байт; 1Мбайт = 1 048 576 байт = 2 20 байт).

Вычислительная машина оперирует с двумя видами информации: управляющей информацией и числовыми данными.

Для представления числовых данных в ЭВМ используются естественная и нормальная формы записи чисел.

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

Рис. 2.2. Представление чисел с фиксированной точкой

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

Максимальным по абсолютному значению целым числом, представляемым в естественной форме, будет число, определяемое по формуле (2 m – 1) (рис. 2.3).

Нормальная форма записи числа имеет вид N = m × q p , где m - мантисса числа (m<1); p - порядок; q - основание системы счисления.

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

Рис. 2.3. Представление целых чисел

Такая форма представления чисел называется формой с плавающей точкой. В этом случае машинное слово делится на два основных поля. В одном поле записывается мантисса числа, во втором указывается порядок числа с учетом знака порядка (характеристика числа). Один разряд отводится для представления знака числа. Распределение разрядов в четырехбайтовом слове для случая с плавающей точкой приведено на рисунке 2.4.

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

Рис. 2.4. Представление чисел с плавающей точкой

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

2.1.1.1 Представление команд в ЭВМ

Программа работы машины, определяющая процесс обработки информации в ЭВМ, состоит из последовательности команд.

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

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

Рис. 2.5. Форматы команд ЭВМ

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

1) взять число, хранящееся по первому адресу;

2) взять число, хранящееся по второму адресу, и сложить его с первым числом;

3) результат сложения записать по третьему адресу.

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

1) вызов в сумматор числа, хранящегося по адресу A1;

2) вызов числа, хранящегося по адресу A2, и сложение его с первым числом;

3) стереть число по адресу A1;

4) запись результата по адресу A1.

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

Увеличивая адресность ЭВМ, приходиться увеличивать длину машинного слова, чтобы отвести в нем необходимые поля для адресной части команд. С увеличением объема памяти ЭВМ увеличивается длина поля, необходимого для одного адреса. В то же время не все команды полностью используют адресные поля. Например, для команды записи числа по заданному адресу требуется только одно адресное поле.

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

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

Компоненты системы счисления:

1. Основание системы счисления - количество различных цифр (символов), используемых для представления числа.

2. Алфавит системы счисления - символы и цифры, используемые для написания всех разрядов числа.

3. Правила записи и чтения чисел.

Различают два основных вида систем счисления: непозиционные и позиционные.

Непозиционные системы счисления.

Непозиционные системы счисления характеризуются тем, что значение числа, выражаемое совокупностью цифр, определяется только конфигурацией цифровых символов и не зависит от места их положения. Классическим примером непозиционной системы является римская система счисления. Например: ХIX; XXIII.

Позиционные системы счисления.

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

Среди позиционных систем различают однородные и смешанные (неоднородные) системы счисления.

В однородных системах количество допустимых цифр для всех позиций (разрядов) числа одинаково. Однородной позиционной системой является общепринятая десятичная система счисления (q = 10), использующая для записи чисел десять цифр от 0 до 9.

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

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

(2.1.)

где q - основание системы счисления; a i - цифры системы счисления с основанием q; i - номер (вес) позиции (разряда) числа.

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

При совместном использовании различных систем счисления после записи числа может указываться основание системы, например: 347,42 10 ; 1101 2 ; 235 8 и т. д.


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В из двоичной СС в десятичную СС.

← Вернуться

×
Вступай в сообщество «l-gallery.ru»!
ВКонтакте:
Я уже подписан на сообщество «l-gallery.ru»