Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций Ч 1.doc
Скачиваний:
15
Добавлен:
01.03.2025
Размер:
2.54 Mб
Скачать

3.2 Язык чисел (системы счисления)

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

Представление чисел в компьютере по сравнению с формой чисел, известной со школы, имеет два важных отличия:

1. Используется двоичная система счисления.

2. Количество разрядов записи числа ограничено.

Любое число имеет значение (содержание) и форму представления.

Значение числа задает его отношение к значениям других чисел (>, <, ═) и, следовательно, порядок расположения чисел на числовой оси.

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

  • Система счисления — это правила образования записи (изображения) чисел с помощью заданного набора специальных знаков — цифр.

Существуют унарная, позиционные и непозиционные системы счисления.

  • Унарная система счисления — это система счисления, в которой для записи чисел используется только один знак, например «палочка» —).

  • Непозиционная система счисления — каждой цифре в любом месте числа соответствует одно и то же значение — количественный эквивалент.

  • Пример: Римская система записи чисел, в которой используются базовые числа: 1 — «I», 5 — «V», 10 — «X», 50 — «L», 100 — «C», 500 — «D», 1000 — «M».

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

– если цифра меньшего значения стоит справа от большей цифры, то их значения суммируются; если слева — то меньшее значение вычитается из большего;

– цифры «I», «X», «C» и «M» могут следовать подряд не более трех раз каждая;

– цифры «V», «L», «D» могут использоваться в записи не более одного раза.

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

Унарное и непозиционное представления чисел относятся к аддитивным формам, в которых значение числа определяется операциями сложения и вычитания. В отличии от них позиционные системы счисления относятся к аддитивно — мультипликативным формам, поскольку значение числа в них определяется операциями умножения и сложения.

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

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

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

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

  • Базис позиционной системы счисления — это последовательность чисел, каждое из которых задает вес каждого разряда.

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

Например, для десятичной системы счисления базис представляет ряд цифр:

.

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

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

.

Из коэффициентов при степенях основания строится сокращенная запись числа:

.

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

– для целой части ;

– для дробной части .

Индекс у числа указывает, что оно записано в системе счисления с основанием p, общее число цифр в дробной части равно , а в целой части — . Все коэффициенты  — целые числа, удовлетворяющие условию .

В десятичной системе счисления основание и для записи используется десять цифр — «0», «1», «2», «3», «4», «5», «6», «7», «8», «9». Каждая цифра числа занимает в нем определенный разряд, который имеет соответствующий весовой коэффициент, определяемый числом 10 в степени:

– для разрядов влево от запятой — ;

– для разрядов вправо от запятой — .

Таким образом, запись числа 547,35 в десятичной системе счисления означает

или по схеме Горнера

.

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

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

1. Двоичная система счисления

Основание системы счисления — 2 и алфавит состоит из двух цифр : «0» и «1». Базис системы , т. е. вес разрядов целой части — , а дробной — .

  • Пример: Числа 11010,11 двоичной системы счисления и 26,75 десятичной системе счисления соответствуют друг другу, так как выполнено равенство .

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

Табл. 1 Таблица сложения и умножения двоичной системы счисления

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

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

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

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

2. Восьмеричная система счисления

Алфавит включает восемь цифр — «0», «1», «2», «3», «4», «5», «6», «7», а основание системы . Базис системы счисления , т. е. вес разрядов целой части — , а дробной части — .

  • Пример:Числа 756,25 восьмиричной системы счисления и 494,328125 десятичной системы счисления соответствуют друг другу, так как выполнено равенство .

3. Шестнадцатеричная система счисления

Алфавит системы состоит из десяти цифр и шести букв латинского алфавита: «0», «1», «2», «3», «4», «5», «6», «7», «8», «9», «A» (10), «B» (11), «C» (12), «D» (13), «E» (14), «F» (15). Основание системы — . Базис системы счисления , т. е. вес разрядов целой части — , а дробной части — .

  • Пример:Числа A7B,C8 шестнадцатиричной системы счисления и 2683,78125 десятичной системы счисления соответствуют друг другу, так как выполнено равенство .

4. Двоично-десятичная система счисления

Данная система счисления имеет основание и каждая цифра алфавита («0», «1», «2», «3», «4», «5», «6», «7», «8», «9») изображается в этой системе счисления четырехразрядным двоичным числом, называемым тетрадой («0» — «0000», «1» — «0001», «2» —«0010», «3» — «0011», «4» — «0100», «5» — «0101», «6» — «0110», «7» — «0111», «8» — «1000», «9» — «1001»). Она используется в ЭВМ как вспомогательная система счисления при вводе и выводе данных и в качестве основной при решении некоторых задач (когда в ЭВМ вводится и выводится большое количество чисел, а вычислений над ними производится мало). Для ее реализации в АЛУ ЭВМ имеется блок десятичной арифметики. Использование двух основных систем счисления (двоичной и двоично-десятичной) позволяет создавать ЭВМ чрезвычайно высокой производительности.

Преобразование чисел из десятичной системы счисления в двоично-десятичную легко реализуется посредством простейших электронных схем. Двоично-десятичные числа преобразуются в десятичные автоматически в ЭВМ по особой программе перевода.

Перевод чисел из одной системы счисления в другую

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

1. Перевод чисел из -ичной системы счисления в десятичную.

2. Перевод чисел из десятичной системы счисления в -ичную.

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

1. Перевод чисел из -ичной системы в десятичную

Существует три варианта перевода: целой части числа -ичной системы счисления в десятичную: по формулам степенного ряда, по схеме Горнера, по правилам перевода.

Алгоритм перевода по формулам степенного ряда:

1. Каждая цифра числа в -ичной системе счисления переводится в число в десятичной системе счисления — в .

2. Полученные числа нумеруются в сокращенной записи справа налево, начиная с нуля — .

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

Все арифметические действия проводятся в десятичной системе счисления.

  • Пример:. Перевод числа в десятичную систему счисления по формулам стпенного ряда. 1. , , , . 2. , , , . 3.

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

  • Пример: Перевод в десятичную систему счисления по схеме Горнера. .

При переводе числа в двоичной системе счисления в десятичную систему необходимо в десятичной системе счисления сложить для тех разрядов двоичного числа, где содержатся 1.

  • Пример: .

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

Перевода конечной -ичной дроби в десятичную осуществляется по следующему алгоритму:

1. Целая часть числа переводится в десятичную систему отдельно.

2. Каждая цифра дробной части числа в -ичной системе счисления переводится в число в десятичной системе.

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

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

5. Результаты перевода целой и дробной части числа складываются.

  • Пример: Перевод числа в десятичную систему счисления. 1. . 2. , , , . 3. , , , . 4. . 5. .

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

  • Пример:

2. Перевод числа из десятичной системы в -ичную

Алгоритм перевода целого числа из десятичной в -ичную систему счисления (все вычисления выполняются в десятичной системе счисления):

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

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

3. Выполняем пункты 1. и 2. до тех пор, пока число не станет равным нулю.

4. Выписываем ответ в виде полученных остатков в обратном порядке.

  • Пример: Перевод числа в троичную систему счисления.     | Остаток  123 |   0   41 |   2   13 |   1    4 |   1    1 |   1    0 | .

Алгоритм перевода конечной десятичной дроби в -ичную систему счисления:

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

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

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

  • Пример: Перевод числа в двоичную систему счисления.  Дробная часть | Целая часть    0,375    |     0     0,75    |     1      0,5    |     1        0    | .

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

Перевод чисел между системами счисления с основанием 2, 8, 16

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

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

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

  • Пример: Выполнение преобразования в восьмеричную и шестнадцатеричную системы счисления.

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

  • Пример: Выполнение преобразования в двоичную и восьмеричную системы счисления.

В табл. 2 приведено соответсвие цифр различных основных систем счисления.

Табл. 2 Соответсвие цифр различных систем счисления