Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Теоретические основы информатики. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
15.08.2026
Размер:
1 Мб
Скачать

Рис. 5.1. График функции N = pn/p

Найдем максимум этой функции.

 

 

n

 

n

 

n

 

n

1

 

n

2

 

 

 

p

 

p

 

p

N

= − p2

p ln p + p p

 

 

= np (1ln p).

 

 

 

Из необходимого условия существования экстремума имеем = 0. Отсюда следует, что lnp = 1, т.е. p = e = 2,718281828…. Так как основание СС может быть только натуральным числом, то ближайшее к e целое число, т. е. 3, принимается за основание наиболее экономичной СС.

5.2. Троичная система счисления

Троичная СС подразделяется на несимметричную и симметричную (сбалансированную, уравновешенную).

В троичной несимметричной СС используются символы 0, 1, 2 или –, 0, +, а в симметричной – числа –1 (записывается как 1), 0, 1.

Рассмотрим примеры записи чисел в троичной симметричной СС

иих перевода в десятичную СС:

1)101010 = 1∙35 – 1∙33 + 1∙ 31 = 243 – 27 + 3 = 219,

2)11101 = –1∙34 + 1∙33 – 1∙32 + 0∙31 + 1∙30 = –81 + 27 – 9 + 1 = –62,

3)11111= –1∙34 – 1∙33 + 1∙32 + 1∙31 + 1∙30 = –81 – 27 + 9 + 3 + 1 = –95.

4)11111= 1∙34 + 1∙33 – 1∙32 – 1∙31 – 1∙30 = 81 + 27 – 9 – 3 – 1 = 95.

Троичная система обладает следующими свойствами:

1) не требуется указывать знак числа, так как число отрицательно, если его ведущий разряд отрицателен, и наоборот, как это видно из приведенных примеров;

41

2)инвертирование (смена знака) числа производится путем инвертирования всех его разрядов (см. примеры 3 и 4 данного пункта);

3)округление не требует специальных правил и производится про-

стым обнулением младших разрядов. Например, 11,11 = 3 – 1 + 3–1 – 3

2= 2,222…. Отбросим знаки после запятой, получаем 11= 2;

4)для записи чисел требуется меньше разрядов, чем в распростра-

ненных СС. Примеры: 1) число 10 = 10102. Это же число в троичной симметричной и несимметричной СС записывается как 101; 2) 5 = 1012,

5= 111 3сим, 5 = 123несим ;

5)троичная СС вмещает больший диапазон чисел по сравнению

с двоичной СС, поскольку 3n > 2n, n N. Например, если n = 9, то 39 = = 19683 > 29 = 512.

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

5.3. Арифметические операции в троичной симметричной СС

Для перевода числа из десятичной СС в троичную симметричную СС его надо сначала перевести в несимметричную СС по обычным правилам перевода, т. е. путем деления на основание новой системы – число 3 и записи в обратном порядке частного и остатков. После этого заметим, что 2 = 3 – 1 = 103 – 13 = 11. В силу этого, для перехода к симметричной СС надо заменить каждое число 2 в несимметричной троичной записи на 1 и увеличить следующий слева разряд на единицу.

Примеры

1. Записать в симметричной системе числа 2103 и 12023:

2103 =1110,12023 =11111.

42

2. Перевести число 14 в троичную симметричную СС.

Сначала переведём 14 в несимметричную СС, для чего будем делить это число последовательно на 3. Получим 1410 = 1123. Заменяя 2 на 11, получим, что 1123 =110+11 =1111. Проверка: 1111= 27 – 9 – 3 – 1 = 14.

3. 21510 = 212223 = 101001. Это число получено следующим образом:

2 → 11 , далее 1 прибавляется к разряду слева; 2 + 1 = 3 → 10; 2 +

1 = 3 → 10;

1 + 1 = 11 ; 2 + 1 = 3 → 10. Запишем выделенные числа в обратном

порядке: 101001. Проверка: 101001 = 35 – 33 – 30 = 243 – 27 – 1 = 215.

4. –6210 =

–20223 = −

 

 

 

 

 

 

 

 

11101 = 11101. (инвертирование).

Проверка:

 

 

 

 

 

 

11101= –34 + 33 – 32 + 30 = –81 + 27 – 9 + 1 = –62.

Перевод дробных чисел в троичной симметричной СС производится аналогично переводу целых чисел: сначала число необходимо пере-

вести в несимметричную СС, а затем заменить 2 на 11.

Пример. Перевести число –24,6 в троичную симметричную СС с точностью до шести знаков после запятой.

Сначала переведем в требуемую СС число 24,6. Для целой части получаем 2410 = 2203 = 1010. Переведем дробную часть в несимметричную СС, умножая её на 3 с использованием обычных правил перевода и ограничиваясь шестью знаками после запятой: 0,610 = 0,1210123. Заменяя справа налево число 2 на 11, замечаем, что единица из крайнего левого дробного разряда переходит в целую часть. Таким образом,

0,6

= 0,121012

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

=1,1

11111.

Сложим результаты перевода целой

10

 

 

 

 

 

 

 

 

 

 

 

 

 

и дробной частей:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2410 =1010+1,111111=1011,111111. Инвертируем полу-

ченное число, чтобы окончательно записать 2410 = 1011,111111.

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

ваться тем, что 23 =113сим.

Примеры

1.111=213. Перепишем единицу в крайней правой позиции, оставшиеся две цифры образуют число 2.

2.11011=11023,т. к. 11= 23, остальные цифры не изменяются.

43

3. Дано число 111111. От второго справа разряда займем единицу,

что дает

в первом

разряде

 

 

получаем

11= 23. Во втором разряде

 

 

+

 

 

=

 

 

 

 

 

Цифра

 

 

переносится в третий разряд и складывается с 1,

1

1

11.

 

1

в третьем разряде получается 0. Продолжая аналогично

получаем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

111111 =120123.

 

 

 

 

 

 

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

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

Правила умножения. Умножение на нуль дает нуль, умножение на 1 повторяет множимое, умножение на –1 инвертирует множимое (заменяет 1 на –1, а –1 на 1).

Использование этих правил приводит к следующим таблицам сложения и умножения (табл. 5.2).

Таблица 5.2

Таблицы сложения и умножения в троичной симметричной СС

+

 

 

 

 

 

0

1

 

 

×

 

 

 

0

1

1

 

1

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

1

0

 

 

 

 

 

 

11

 

1

 

1

 

1

1

0

 

 

 

 

0

1

 

 

0

0

0

0

1

 

 

1

0

1

 

 

 

 

1

 

 

 

0

1

11

 

 

 

 

 

 

 

1

 

Примеры

1.101+11 = 110 (–8 + 2 = –6),

2.101 11 = 1111 (в столбик: –8 ∙ 2 = –16).

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

Пример. 1111011011 = 111101+ 1011= 110011.

Деление в троичной СС производится по обычным правилам. На-

пример, 12123:123 = 1013.

44

Упражнения

1.Перевести числа из троичной симметричной СС в троичную несимметричную СС.

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

5.4. Единицы измерения информации в троичных ЭВМ

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

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

Один трит равен log23 ≈ 1,58496 битам информации.

Один трайт равен шести тритам и может принимать 36 = 729 различных значений, в отличие от байта с 28 = 256 значениями.

Перечислим некоторые преимущества троичных ЭВМ перед двоичными.

1. При сложении тритов количество операций в log23 ≈ 1,6 раз меньше, чем при сложении битов, и, следовательно, быстродействие при сложении в 1,6 раз, т. е. на 58 %, больше.

45

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

в50 % случаев, а втроичном симметричном сумматоре – в 30 % случаев, что несколько увеличивает быстродействие троичной ЭВМ.

3.Трехбитная троичная физическая система кодирования и передачи данных имеет на 15,3 % большее быстродействие, чем обычная двоичная система кодирования и передачи данных, что также увеличивает быстродействие.

4.При хранении чисел троичная система более экономична по количеству используемых знаков, чем двоичная и десятичная.

5.5. Выбор системы счисления

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

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

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

46

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

Существует две формы представления чисел в современных ЭВМ:

естественная форма или форма с фиксированной запятой (СФЗ),

нормальная форма или форма с плавающей запятой (СПЗ).

6.1. Естественная форма

Для представления чисел в ЭВМ используется разрядная сетка. Для числа СФЗ (ЧСФЗ) в ней выделяется строго определенное число разрядов для целой и дробной частей числа (рис. 6.1).

Рис. 6.1. Разрядная сетка ЧСФЗ

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

Числа СФЗ изображаются в виде последовательности цифр с постоянным для всех чисел положением запятой, отделяющей целую часть от дробной. Например, числа 521,377; 0,000238; –102013,036,

записанные в разрядную сетку, k = 5, m = 5, где k – число разрядов в целой части числа, а m – число разрядов в дробной части числа, имеют соответственно вид

+00521,37700; +00000,00238; –10201,30360.

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

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

Диапазон значащих чисел N в СС с основанием p при наличии k разрядов в целой части и m разрядов в дробной части числа без учета знака числа определяется неравенствами

p–m ≤ N ≤ pk –p–m .

Например, при p = 2, k = 10 и m = 6 получаем 0,015 ≤ N ≤ 1024.

47

При p = 10, k = m = 5 имеем 0,00001 ≤ N ≤ 100000 – 0,00001 < < 100000. Как было показано, в эту разрядную сетку нельзя вписать число –102013,036. Для малых чисел возникающая в подобных случаях ошибка может достигать большой величины. Если число меньше минимального, то оно принимается за машинный нуль. Если число больше максимального, то оно принимается за машинную бесконечность.

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

6.2. Нормальная форма

Числа СПЗ (ЧСПЗ) изображаются в виде двух групп цифр. Первая группа цифр называется мантиссой, вторая – порядком, причем абсолютная величина мантиссы должна быть меньше 1, а порядок – целым числом. Разрядная сетка ЧСПЗ имеет вид, изображенный на рис. 6.2.

Рис. 6.2. Разрядная сетка ЧСПЗ

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

Число в форме СПЗ может быть представлено как

N = ± Mp±s,

48

где М – мантисса числа (|М| < 1); целое число s – порядок числа; p – основание системы счисления. Мантисса должна быть правильной дробью, у которой первая цифра после запятой отлична от нуля. При выполнении этого требования число называется нормализованным.

Пример: числа 521,377; 0,000238; –102013,036 в нормальной форме запишутся как +0,521377∙103, +0,238∙10–3, –0,102013036∙106.

Нормальная форма представления имеет огромный диапазон отображения чисел и является основной в современных ЭВМ. В конкретной ЭВМ диапазон представления чисел с плавающей запятой зависит от основания СС и числа разрядов для представления порядка. При этом у одинаковых по длине форматов ЧСФЗ с увеличением основания СС существенно расширяется диапазон представляемых чисел. Точность вычислений при использовании формата СПЗ определяется числом разрядов мантиссы.

Диапазон значащих чисел в СС с основанием p при наличии k разрядов у мантиссы и m разрядов у порядка без учета знаковых разрядов порядка и мантиссы определяется неравенствами:

pk p( pm 1) N (1pk )p pm 1.

Например, при p = 2, k = 10 и m = 6 диапазон чисел составляет примерно от 10–19 до 1019. Для сравнения: количество секунд, которые прошли с момента образования планеты Земля, составляет примерно 1018.

При p = 10, k = m = 5 имеем

10510(105 1) N (1105)10105 1, 10599999 N (1105)1099999,

10100004 N 1099999 1099994, 10100004 N ≤999991099994.

Алгоритм представления числа в видеСПЗ состоит из трех пунктов:

1)перевести число из СС с основанием p в двоичную СС;

2)представить двоичное число в нормализованной форме;

3)поместить знак, порядок и мантиссу в соответствующие разряды сетки.

ЧСФЗ обладают следующими свойствами:

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

2)чем больше разрядов занимает порядок, тем шире диапазон от наименьшего, отличного от нуля числа, до наибольшего, представимого

взаданном формате.

49

6.3. Операции над числами в нормальной форме

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

При умножении ЧСФЗ их мантиссы перемножаются, а порядки складываются.

При делении ЧСФЗ мантисса делимого делится на мантиссу делителя, а для получения порядка частного из порядка делимого вычитается порядок делителя. При этом если мантисса делимого больше мантиссы делителя, то мантисса частного окажется больше 1 из-за переполнения разрядной сетки. В этом случае необходимо сдвинуть мантиссу на один разряд вправо, одновременно увеличивая на единицу порядок частного.

Примеры

1.Сложить десятичные нормализованные числа 0,156∙103 и

0,763∙105.

Сначала выровняем порядки, для чего первое число запишем с по-

рядком 5: 0,156∙103 = 0,00156∙105. Теперь сложим мантиссы: 0,00156 +

+0,763 = 0,76456. Окончательно получим 0,76456∙105.

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

0,10101∙1010 и 0,11101∙101.

Разность порядков уменьшаемого и вычитаемого здесь равна еди-

нице, поэтому перед вычитанием мантисса второго числа сдвигается на один разряд вправо: 0,11101∙101 = 0,011101∙1010. Производим вычита-

ние: 0,10101∙1010 – 0,011101∙1010 = 0,001101∙1010. Результат получился не нормализованным, поэтому его мантисса сдвигается влево на два

разряда с соответствующим уменьшением порядка на две единицы: 0,1101∙10100.

3.Перемножить двоичные нормализованные числа 0,11101∙10101

и 0,1001∙1011.

При умножении порядки складываются, а мантиссы перемножаются:

0,11101∙10101 ∙ 0,1001∙1011 = (0,11101∙0,1001)∙10101+11 = = 0,100000101∙101000.

50

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]