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

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

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

В вычислительной технике непозиционные системы не применяются.

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

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

, где: (2.1)

основание системы счисления (целое положительное число, равное числу цифр в данной системе);

– любые цифры из интервала от нуля до .

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

Каждой позиции в числе соответствует позиционный (разрядный) коэффициент или вес. Покажем это на примере десятичного числа:


Пример 2.1 Способ образования десятичного числа


Для десятичной системы соответствия между позицией и весом следующее:

(2.2)

в общем случае:

(2.3)

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

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

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

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


3 Двоичная система счисления: основные сведения


3.1 История возникновения двоичной системы счисления


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

История развития двоичной системы счисления – одна из ярких страниц в истории арифметики. Официальное «рождение» двоичной арифметики связывают с именем Г. В. Лейбница, опубликовавшего статью, в которой были рассмотрены правила выполнения всех арифметических операций над двоичными числами. До начала тридцатых годов XX века двоичная система счисления оставалась вне поля зрения прикладной математики. Потребность в создании надежных и простых по конструкции счетных механических устройств и простота выполнения действий над двоичными числами привели к более глубокому и активному изучению особенностей двоичной системы как системы, пригодной для аппаратной реализации. Первые двоичные механические вычислительные машины были построены во Франции и Германии. Утверждение двоичной арифметики в качестве общепринятой основы при конструировании ЭВМ с программным управлением состоялось под несомненным влиянием работы А. Бекса, Х. Гольдстайна и Дж. Фон Неймана о проекте первой ЭВМ с хранимой в памяти программой, написанной в 1946 году. В этой работе наиболее аргументированно обоснованы причины отказа от десятичной арифметики и перехода к двоичной системе счисления как основе машинной арифметики.

3.2 Основные понятия машинной арифметики


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

  • Отверстие есть или отсутствует (перфолента или перфокарта);

  • Материал намагничен или размагничен (магнитные ленты, диски);

  • Уровень сигнала большой или маленький.

Существуют специальные термины, широко используемые в вычислительной технике: бит, байт и слово.

Битом называют один двоичный разряд. Крайний слева бит числа называют старшим разрядом (он имеет наибольший вес), крайний справа – младшим разрядом (он имеет наименьший вес).

Восьмибитовая единица носит название байта.

Многие типы ЭВМ и дискретных систем управления перерабатывают информацию порциями (словами) по 8, 16 или 32 бита (1, 2 и 4 байта). Двоичное слово, состоящее из двух байт, показано на рис. 3.1.




Рис. 3.1 Бит, байт и слово



4 Взаимный перевод двоичных и десятичных чисел и элементарные двоичные арифметические действия


4.1 Представление двоичных чисел и перевод их в десятичные


Совершенно очевидно, что двоичное число представляется последовательностью нулей и единиц – разрядов. Как и в любой позиционной системе, каждому разряду присвоен определенный вес – показатель степени основания системы. Веса первых 10 позиций представлены в таблице 4.1.


Таблица 4.1 Веса первых десяти позиций двоичной системы счисления


Позиция 9 8 7 6 5 4 3 2 1 0
Вес 512 256 128 64 32 16 8 4 2 1

Образование


В двоичной системе счисления даже сравнительно небольшие числа занимают много позиций.

Как и в десятичной системе, в двоичной системе счисления для отделения дробной части используется точка (двоичная точка). Каждая позиция слева от этой точки также имеет свой вес – вес разряда дробной части числа. Значение веса в этом случае равно основанию системы счисления (т.е. двойке), возведенному в отрицательную степень.

Получить десятичное число из двоичного чрезвычайно просто. Согласно формуле 2.3 для двоичной системы счисления получаем:

(4.1)

Пример 4.1 иллюстрирует процесс получения десятичного числа из двоичного.


Пример 4.1 Перевод двоичного числа в десятичное



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


Перевод из двоичной системы в десятичную несколько сложнее. Рассмотрим несколько алгоритмов.


4.2.1 Метод вычитания

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


Пример 4.2 Перевод десятичного числа в двоичное методом вычитания



4.2.2 Метод деления

Другим методом является так называемый метод деления. Он применяется для преобразования целых чисел. Ниже приведен его алгоритм.

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


Пример 4.3 Перевод десятичного числа в двоичное методом деления


2







148

74

2






1

74

37

2






0

36

18

2






1

18

9

2






0

8

4

2






1

4

2

2






0

2

1

2






0

0 0







1

старший разряд

(10010101)2=(149)10

 ответ



4.2.3 Метод умножения

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

Число умножается на 2, если результат 1, то в старший разряд записывается единица, если нет, то нуль. Умножаем на 2 дробную часть результата и повторяем процедуру. И так далее до получения нужной степени точности или до обнуления результата.


Пример 4.4 Перевод десятичного числа в двоичное методом умножения



4.3 Арифметические действия над двоичными числами


Арифметика двоичной системы счисления основана на использовании таблиц сложения, вычитания и умножения. Эти таблицы чрезвычайно просты:


Таблица

сложения

0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10

Таблица

умножения

0 * 0 = 0
0 * 1 = 0
1 * 0 = 0
1 * 1 = 1

Таблица

вычитания

0 0 = 0
1 0 = 1
1 1 = 1
10 1 = 1


4.3.1 Двоичное сложение


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


Пример 4.5 Сложение двоичных чисел и


+ 101101
111110

010011

– поразрядная сумма без учета переносов


+ 1011000 – переносы

0010011



1001011

– поразрядная сумма без учета повторных переносов


+ 0100000 – повторные переносы
1001011

1101011 – окончательный результат

Легко произвести проверку:

,

,

,

.


Пример 4.6 Сложение двоичных чисел и


+ 110, 1011
10111, 10101

10001, 00011

– поразрядная сумма без учета переносов


+ 11 1, 1 – переносы
10001, 00011

11100, 01011

– поразрядная сумма без учета повторных переносов


+ 1 ,
– повторные переносы
11100, 01011

11110, 01011 – окончательный результат

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


4.3.2 Двоичное вычитание


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


Пример 4.7 Вычитание двоичных чисел и


11010, 1011
1101, 01111

1101, 00111

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

Рассмотрим четырехразрядный десятичный счетчик, какие в автомобиле отсчитывают пройденный путь. Пусть он показывает число 2, если вращать его в обратном направлении, то сначала появится 1, затем 0, после 0 появится число 9999. Сложим, к примеру, 6 с этим числом:

+ 6
9999

10005


Если пренебречь единицей переноса и считать 9999 аналогом –1, то получим верный результат: .

Число 9999 называется десятичным дополнением числа 1. Таким образом, в десятичной системе счисления отрицательные числа могут быть представлены в форме десятичного дополнения, а знак минус можно опустить.

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


Пример 4.8 Двоичное дополнение числа


+ 010101111 – число
101010001 – двоичное дополнение

1000000000 – сумма

 – единица переноса


Для получения двоичного дополнения необходимо:

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

    010101111 – число
    101010000 – обратный код
  • прибавить к обратному коду единицу, образовав таким образом дополнительный код:

+ 101010000 – обратный код
1

101010001 – дополнительный код

Пример 4.9 Вычитание в дополнительном коде


– обратный код,

– дополнительный код.

1001012=510 (верно).


4.3.3 Двоичное умножение


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

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

Умножение производится, начиная с младшего или старшего разряда множителя, что и определяет направление сдвига. Если сомножители имеют дробные части, то положение запятой в произведении определяется по тем же правилам, что и для десятичных чисел.

Пример 4.10 Умножение двоичных чисел и



4.3.4 Двоичное деление


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


Пример 4.11 Деление двоичных чисел


1) 18:2

2) 14:4







10010 10
1110 100
10

1001=(9)10


100

11,1=(3,5)10


00

110

00

100

001




100

000

100

10

0



10




00





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


5 Представление чисел в ЭВМ, кодирование


5.1 Представление чисел с фиксированной и плавающей запятой


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

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

В ЭВМ применяются две основные формы представления чисел: полулогарифмическая – с плавающей запятой и естественная – с фиксированным положением запятой.

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

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

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

Рассмотрим подробнее эти два формата.


5.1.1 Числа с фиксированной запятой


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

.

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

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

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

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

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


5.1.2 Числа с плавающей запятой


При использовании плавающей запятой число состоит из двух частей: мантиссы m, содержащей значащие цифры числа, и порядка p, показывающего степень, в которую надо возвести основание числа q, чтобы полученное при этом число, умноженное на мантиссу, давало истинное значение представляемого числа:

(5.1)

Мантисса и порядок представляются в двоичном коде. Обычно число дается в нормализованном виде, когда его мантисса является правильной дробью, причем первая значащая цифра (единица) следует непосредственно после запятой: например, где m=0,1010; p=10; q=2

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

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

Нормализованные двоичные числа с плавающей запятой представляют значения модуля в диапазоне:

,

где – максимальное значение модуля порядка.

Так, при p=7 –1==63 и диапазон представления модулей нормализованных чисел:

,

Таким образом, диапазон чисел:

Для расширения диапазона представляемых чисел при фиксированной длине разрядной сетки (m+p) в качестве основания системы счисления выбирается . При этом число, представляемое в разрядной сетке, приобретает значения . Нормализованная мантисса 16-ричного числа с плавающей запятой имеет значения, лежащее в диапазоне . Признаком нормализации такого числа является наличие хотя бы одной единицы в

Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.), обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.

Поможем написать работу на аналогичную тему

Получить выполненную работу или консультацию специалиста по вашему учебному проекту
Нужна помощь в написании работы?
Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Пишем статьи РИНЦ, ВАК, Scopus. Помогаем в публикации. Правки вносим бесплатно.

Похожие рефераты: