Арифметические основы эвм. Введение Логические и арифметические основы работы эвм

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.

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 и т. д.


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

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

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

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

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

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

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

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

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

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

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

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

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

1.2 Логические основы ЭВМ

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


Таблица 1 – Коды чисел от 0 до 15

Десятичное число Коды
Двоичный 16-ричный Двоично-десятичный
0 0000 0 000
1 0001 1 0001
2 0010 2 0010
3 0011 3 0011
4 0100 4 0100
5 0101 5 0101
6 0110 6 0110
7 0111 7 0111
8 1000 8 1000
9 1001 9 1001
10 1010 A 00010000
11 1011 B 00010001
12 1100 C 00010010
13 1101 D 00010011
14 1110 E 00010100
15 1111 F 00010101

1.2.1 Основные положения алгебры логики

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

В общем виде логическая формула функции двух переменных записывается в виде: y =f (X 1 , X 2), где X 1 , X 2 - входные переменные.

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


Таблица 2 – Полный набор функций одной переменной

X Y1 Y2 Y3 Y4
0 1 0 1 0
1 0 1 1 0

Y1 - Инверсия, Y2 - Тождественная функция, Y3 - Абсолютно истинная функция и Y4 – Абсолютно ложная функция.

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

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

Основными логическими функциями двух переменных, используемыми в устройствах цифровой обработки информации являются: дизъюнкция (логическое сложение), конъюнкция (логическое умножение), сумма по модулю 2 (неравнозначность), стрелка Пирса и штрих Шеффера. Условные обозначения логических операций, реализующих указанные выше логические функции одной и двух переменных, приведены в таблице 3.


Таблица 3 Названия и обозначения логических операций

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


Таблица 4 – Таблицы истинности основных функций двух переменных

Дизъюнкция Конъюнкция Исключающее ИЛИ Стрелка Пирса Штрих Шеффера
X1 X2 Y X1 X2 Y X1 X2 Y X1 X2 Y X1 X2 Y
0 0 0 0 0 0 0 0 0 0 0 1 0 0 1
0 1 1 0 1 0 0 1 1 0 1 0 0 1 1
1 0 1 1 0 0 1 0 1 1 0 0 1 0 1
1 1 1 1 1 1 1 1 0 1 1 0 1 1 0

Дизъюнкция. В отличие от обычного арифметического или алгебраического суммирования здесь наличие двух единиц даёт в результате единицу. Поэтому при обозначении логического суммирования предпочтение следует отдать знаку (∨) вместо знака (+) .

Первые две строчки таблицы истинности операции дизъюнкции (x 1 =0) определяют закон сложения с нулём : x ∨ 0 = x , а вторые две строчки (x 1 = 1) - закон сложения с единицей : x ∨ 1 = 1.

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

Первые две строчки таблицы истинности операции конъюнкции определяют закон умножения на ноль : x ·0 = 0, а вторые две - закон умножения на единицу: x ·1 = x.

Исключающее ИЛИ. Под функцией «Исключающее ИЛИ» понимают следующее: единица на выходе появляется тогда, когда только на одном входе присутствует единица. Если единиц на входах две или больше, или если на всех входах нули, то на выходе будет нуль.

Надпись на обозначении элемента ИСКЛЮЧАЮЩЕЕ ИЛИ «=1» (Рисунок 1, г) как раз и обозначает, что выделяется ситуация, когда на входах одна и только одна единица.

Эта операция аналогична операции арифметического суммирования, но, как и другие логические операции, без образования переноса. Поэтому она имеет другое название сумма по модулю 2 и обозначение ⊕, сходное с обозначением арифметического суммирования.

Стрелка Пирса и штрих Шеффера. Эти операции являются инверсиями операций дизъюнкции и конъюнкции и специального обозначения не имеют.

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

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

Сложной является логическая функция, значение истинности которой зависит от истинности других функций. Эти функции являются аргументами данной сложной функции.

Например, в сложной логической функции аргументами являются X 1 ∨X 2 и .

1.2.2 Логические элементы

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

Рисунок 1 – УГО логических элементов: а) Инвертор, б) ИЛИ, в) И, г) Исключающее ИЛИ, д) ИЛИ-НЕ, е) И-НЕ.


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

Рисунок 2 – Пример реализации сложной логической функции


Как видно из рисунка 2, логическое уравнение показывает, из каких ЛЭ и какими соединениями можно создать заданное логическое устройство.

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

1.2.3 Законы и тождества алгебры логики

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

1 Переместительный: X ∨ Y = Y ∨ X; X · Y = Y · X.

2 Cочетательный: X ∨ Y ∨ Z = (X ∨ Y) ∨ Z = X ∨(Y ∨ Z); X · Y · Z = (X · Y) · Z = X· (Y· Z).

3 Идемпотентности: X ∨ X = X; X · X = X.

4 Распределительный: (X ∨ Y)· Z = X· Z ∨ Y· Z.

5 Двойное отрицание: .

6 Закон двойственности (Правило де Моргана):

Для преобразования структурных формул применяется ряд тождеств:

X ∨ X · Y = X; X(X ∨ Y) = X - Правила поглощения.

X· Y ∨ X· = X, (X ∨ Y)·(X ∨ ) = X – Правила склеивания.

Правила старшинства логических операций.

1 Отрицание - логическое действие первой ступени.

2 Конъюнкция - логическое действие второй ступени.

3 Дизъюнкция - логическое действие третьей ступени.

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

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

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

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

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

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

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

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

Другой пример «почти непозиционной» системы счисления - римская система счета. В римской системе счета используются следующие символы:

I - 1; V - 5; X - 10; Ь - 50; С - 100; 0-500; М - 1000.

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

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

ССХУУП =100+100+10 + 5 + 5+1 + 1= 222;

Х1Х1У= 10 + (10 - 1) = 19.

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

Позиционные системы счисления - это системы счисления, в которых значение цифры в записи числа N зависит от ее позиции (места). Например, в десятичной системе счисления число 05 обозначает пять единиц, 50 обозначает пять десятков, 500 - пять сотен и т.д.

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

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

Примеры некоторых позиционных систем счисления и их применение приведены в табл. 2.1.

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

Как видно из табл. 2.2, для записи одного и того же числа в различных системах счисления требуется разное число позиций или разрядов. Например, 14 |0 = 1 1 10 2 = 16 8 = Е [в. То есть в десятичной системе счисления число 14 занимает две позиции (два разряда), в двоичной системе счисления - четыре позиции, в шестнадцатеричной системе счисления - одну позицию. Чем меньше основание системы счисления

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

Наименование

счисления

Основание

счисления

Используемые

Применение

Двоичная

В цифровой вычислительной технике, дискретной математике, программировании

Троичная

Любые три знака: (-, 0,+), (-1,0,+1), (А, В , С), (X, У, Т) или три цифры: (1,2, 3)

В цифровой электронике

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

Десятичная

Повсеместное

Шестнадцате

А, В, С,Т

В цифровой вычислительной технике, программировании

Шестидесяте

00, 01,02,..., 59

Как единицы измерения времени, измерения углов, координат,

долготы и широты

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

Пусть длина разрядной сетки равна положительному числу./V, максимальное число равно

?^((Дтах - Я ~ 1

Например, при N = 8:

Лю)тах = Ю 8 - 1 = 9999999 (| 0) ;

Л(2)тах - 2 8 - 1 = 256 - 1 = 257 (|0) =1111111 (2) ;

А ( 1 6)тах = 16 8 - 1 =4294967296 - 1 = 4294967295 (10) = РРРРРРР (16) .

Таким образом, при одинаковой длине разрядной сетки N=8 максимальное по абсолютному значению Л (16)П1ах > Л (10)П1ах > Л (2)гпах, т.е. чем больше #, тем больше Л ((?)тах.

Натуральный ряд чисел в различных системах счисления

Десятичная

Двоичная

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

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

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

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

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

Например, число 253,24 10 в обычной десятичной форме (

Пример 2.1. Двоичное число 1101,01(2) перевести в десятичную систему счисления.

В двоичной системе счисления для представления чисел используются две цифры 0 И 1 И двоичное ЧИСЛО 1 1 01,012 (

ТУ 2 = 1101,01 2 = 1 2 3 + 1 2 2 + 0 2 + 1 2° + 0 2 _| + 1 2 -2 =

“=8 + 4 + 0+1+0+1/4= 14,25 10 .

Если по правилам десятичной арифметики выполнить действия в правой части приведенного равенства, то получим десятичный эквивалент двоичного числа:

1101,01 2 = 8 + 4 + 0+ 1 +0 + 1/4 = 14,25 10 .

Пример 2.2. Восьмеричное число 53,2 8 (# = 8) перевести в десятичную систему счисления:

2560 + 240 + 7 + 8/16 = 2807,25 10 .

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

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

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

Пример 2.4. Число 26,625 10 перевести в двоичную систему счисления.

Переводим целую часть числа:

  • 26: 2 = 13, остаток равен 0;
  • 13:2 = 6, остаток равен 1;
  • 6:2 = 3, остаток равен 0;
  • 3:2=1, остаток равен 1;
  • 1: 2 = 0, остаток равен 1.

Десятичное число стало равно нулю, деление закончено. Переписываем все остатки снизу вверх и получаем двоичное число 11010 2 .

  • 0,625 2 = 1,250, целая часть 1;
  • 0,250 2 = 0,500, целая часть 0;
  • 0,500 2 = 1,000, целая часть 1;
  • 0,000 2 = 0,000, целая часть 0.

Целая часть стала равной нулю. Переписываем целые части результатов умножения сверху вниз и получаем двоичное число 0,1010 2 .

Пример 2.5. Число 70,05 10 перевести в восьмеричную систему счисления с точностью по 4-й разряд.

Переводим целую часть числа:

  • 70: 8 = 8, остаток равен 6;
  • 8:8=1, остаток равен 0;
  • 1: 8 = 0, остаток равен 1.

Десятичное число стало равно нулю, деление закончено. Переписываем все остатки снизу вверх и получаем восьмеричное число 106 8 .

Переводим дробную часть числа:

  • 0,05 8 = 0,40, целая часть 0;
  • 0,40 8 = 3,20, целая часть 3;
  • 0,30 8 = 2,40, целая часть 2;
  • 0,40 8 = 3,20, целая часть 3.

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

Пример 2.6. Число 76,05 10 перевести в шестнадцатеричную систему счисления с точностью по 4-й разряд.

Переводим целую часть числа:

  • 76: 16 = 4, остаток равен 12 -» С;
  • 4: 16 = 0, остаток равен 4.

Десятичное число стало равно нулю, деление закончено. Переписываем все остатки снизу вверх и получаем шестнадцатеричное число 4С 16 .

Переводим дробную часть числа:

  • 0,05 16 = 0,80, целая часть 0;
  • 0,80 16 = 12,80, целая часть 12 -> С;
  • 0,80 16 = 12,80, целая часть 12 -> С;
  • 0,80 -16= 12,80, целая часть 12 -> С.

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

Пример 2.7. Число 6610 перевести в произвольную систему счисления, например с основанием ц = 5.

Переводим целую часть числа:

  • 66: 5 = 13, остаток равен 1;
  • 13:5 = 2, остаток равен 3;
  • 2:5 = 0, остаток равен 2.

Десятичное число стало равно нулю, деление закончено. Переписываем все остатки снизу вверх и получаем пятеричное число 231 5 .

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

Перевод целой части. Число 2 возводится в ту степень, которая необходима для получения основания системы, в которую требуется перевести. Для восьмеричной системы (8 = 23) получаем число 3 (триада), для шестнадцатеричной системы (16 = 24) получаем число 4 (тетрада).

Разбиваем переводимое число на количество цифр, равное 3 для восьмеричной системы и равное 4 для шестнадцатеричной системы счисления.

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

Пример 2.8. Двоичное число 101110 2 перевести в восьмеричную и шестнадцатеричную системы счисления:

  • восьмеричная - 101 110 -> 56 8 ;
  • шестнадцатеричная - 0010 1110 -> 2Е ]в.

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

Таблица триад и тетрад

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

Пример 2.9. Перевести 11101,01011 2 в восьмеричную и шестнадцатеричную системы счисления:

  • восьмеричная - 011 101,010 110 -> 35,26 8 ;
  • шестнадцатеричная - 0001 1101,0101 1000 -> 1Z),58, 6 .

Перевод из восьмеричной и шестнадцатеричной систем в двоичную.

Для этого типа операций существует упрощенный алгоритм-перевертыш. Для восьмеричной системы преобразуем по таблице в триплеты: 0->000 4 -> 100;

  • 1 -> 001 5 -> 101;
  • 2 -> 010 6 -> 110;
  • 3 -> 011 7 -> 111.

Для шестнадцатеричной - преобразуем по таблице в квартеты:

А -> 1010

В -> 1011

Пример 2.10. Перевести восьмеричное число 2438 и шестнадцатеричное число7С 16 в двоичную систему счисления:

  • 243 8 -> ПО 100011 2 ;
  • 7С 16 -> 1111 1100 2 .

Двоичная арифметика

Сложение. Таблица сложения двоичных чисел проста:

  • 0 + 0 = 0;
  • 0+1 = 1;
  • 1+0=1;
  • 1 + 1 = 10;
  • 1 + 1 + 1 = 11.

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

Пример 2.11. Выполнить сложение в двоичной системе счисления.

1 1 1 Перенос в старший разряд

1 1 0 0 0 1 = 49 - первое слагаемое

  • 1 1 0 1 1 = 27 - второе слагаемое
  • 1 0 0 1 1 0 0 = 76 - сумма

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

  • 2 2 11
  • 0 10 1

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

Рассмотрим пример вычитания многоразрядных чисел (из большего числа вычитается меньшее).

Пример 2.12. Вычитание в двоичной системе счисления:

  • 0 111 Изменение уменьшаемого в результате займа
  • 1 1 0 0 0 1 = 49 - уменьшаемое
  • 11011 - 21 - вычитаемое
  • 10 1 1 0 = 22 - разность

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

Пример 2.13. Умножение в двоичной системе счисления:

  • *1011
  • 1011
  • 110111

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

Запись десятичных чисел (двоично-десятичный код)

Иногда бывает удобно хранить числа в памяти процессора в десятичном виде (например, для вывода на экран дисплея). Для записи таких чисел используются двоично-десятичные коды. Для записи одного десятичного разряда используется четыре двоичных бита (тетрады). При помощи четырех бит можно закодировать 16 цифр (2 4 = 16). Лишние комбинации в двоично-десятичном коде являются запрещенными. Соответствие двоично-десятичного кода и десятичных цифр приведено в табл. 2.4.

Таблица 2.4

Соответствие двоично-десятичного кода и десятичных цифр

Двоично-десятичный код

Десятичный код

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

Пример 2.14. Записать двоично-десятичный код числа 1258 10 -

1258 ш = 0001 0010 0101 1000 2 .

В первой тетраде записана цифра 1, во второй - 2, в третьей - 5, а в последней тетраде записана цифра 8. В данном примере для записи числа 1258 потребовалось четыре тетрады. Количество ячеек памяти микропроцессора зависит от его разрядности. При 16-раз-рядном процессоре все число уместится в одну ячейку памяти.

Пример 2.15. Записать двоично-десятичный код числа 589 10:

589 10 = 0000 0101 1000 1001 2 .

В данном примере для записи числа достаточно трех тетрад, но ячейка памяти 16-разрядная. Поэтому старшая тетрада заполняется нулями. Они не изменяют значение цифры.

При записи десятичных чисел часто требуется записывать знак числа и десятичную запятую (в англоязычных странах - точку). Двоично-десятичный код часто применяется для набора телефонного номера или набора кодов телефонных служб. В этом случае кроме десятичных цифр часто применяются символы «*» или «#». Для записи этих символов в двоично-десятичном коде применяются запрещенные комбинации (табл. 2.5).

Таблица 2.5

Соответствие двоично-десятичного кода и дополнительных символов

Достаточно часто в памяти процессора для хранения одной десятичной цифры выделяется одна ячейка памяти (8-, 16- или 32-раз-рядная). Это делается для повышения скорости работы программы. Для того чтобы отличить такой способ записи двоично-десятичного числа от стандартного, способ записи десятичного числа, как это показано в примере, называется упакованной формой двоично-десятичного числа.

Пример 2.16. Записать неупакованный двоично-десятичный код числа 1258 10 для 8-разрядного процессора:

  • 1258 00000001
  • 00000010 00000101 00001000

В первой строке записана цифра 1, во второй - 2, в третьей - 5, а в последней строке записана цифра 8. В данном примере для записи числа 1258 потребовалось четыре строки (ячейки памяти).

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

  • 0 0 0 1 10 0 0 0 0 0 1 0 0 1 1
  • 0 0 10 10 11

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

  • 0 0 10 10 11
  • 0 0 0 0 0 1 1 0
  • 0 0 1 1 0 0 0 1

Формы представления в ЭВМ числовых данных

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

Примеры естественной формы записи чисел:

  • 15300 - целое число; 0,000564 - правильная дробь;
  • 6,4540 - неправильная дробь.

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

25 340 = 2,534- 10 4 = 0,2534 - 10 5 = 2534000 - 10“ 2 ит.д.

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

Представление числа в нормальной форме называют представлением с плавающей запятой (положение запятой меняется).

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

Характер программирования зависит от способа представления чисел.

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

Фиксированная запятая (точка)

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

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

Например, в результате выполнения операций в знаковом разряде число 01 свидетельствует о положительном переполнении разрядной сетки, а число 10 - об отрицательном переполнении разрядной сетки.

Поле числа имеет постоянное число разрядов - п. Диапазон представления целых чисел ограничивается значениями -(2 п - 1) и +(2" - 1).

Например, в двоичном коде, используя 6-разрядную сетку, число 7 в форме с фиксированной запятой можно представить в виде

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

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

где знаковый разряд выделяется квадратными скобками.

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

|/1|тах = (2(п - 1) - 1),

где п - полная длина разрядной сетки.

В случае 16-разрядной сетки

|Л|тах = (2(16- 1)- 1) = 3276710,

т.е. диапазон представления целых чисел в этом случае будет от +3 276710 до -3276710.

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

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

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

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

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

А-В = А + (-В).

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

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

тогда число в этом же коде представляется как

[-Д] П р - 1-?7 /г й /7 _| Й Л _2....Й Г | а 0 ,

а в обратном (инверсном) коде это число будет иметь вид

[-Д] 0 б - 1*^77 *2/7-1 *2 /г _а 0,

а, - 1, если а 1 - 0, я,- = 0, если я, = 1,

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

Тогда число в дополнительном коде изображается в виде

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

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

Представим, что мы имеем только два разряда для представления чисел в десятичной системе счисления. Тогда максимальное число, которое можно изобразить, будет 99, а вес третьего, несуществующего старшего разряда будет 10 2 , т.е. 100. В таком случае для числа 20 дополнительным будет число 80, которое дополняет 20 до 100 (100 - 20 = 80). Следовательно, по определению вычитание

можно заменить на сложение:

Здесь старшая единица выходит за пределы выделенной разрядной сетки, в которой остается только число 30, т.е. результат вычитания из 50 числа 20.

А теперь рассмотрим похожий пример для чисел, представленных 4-разрядным двоичным кодом. Найдем дополнительное число для 0010 2 = 2 10 . Надо из 0000 вычесть 0010, получим 1110, которое и является дополнительным кодом 2. Разряд, изображенный в квадратных скобках, на самом деле не существует. Но так как у нас 4-раз-рядная сетка, то выполнить такое вычитание в принципе невозможно, а тем более мы стараемся избавиться от вычитания. Поэтому дополнительный код числа получают способом, описанным ранее, т.е. сначала получают обратный код числа, а затем прибавляют к нему единицу. Проделав все это с нашим числом (2), нетрудно убедиться, что получится аналогичный ответ.

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

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

Рассмотрим простые примеры.

Семерка в прямом коде представляется так:

Пр = 0.00011 1 2 .

Число -7 в прямом коде

[-7] пр = 1.000111 2 ,

а в обратном коде будет иметь вид

[-7] об = 1.111000 2 ,

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

[-7] доп = 1.111001 2 .

Рассмотрим еще раз, как процедура вычитания при помощи представления вычитаемого в дополнительном коде сводится к процедуре сложения. Вычтем из 10 число 7: 10-7 = 3. Если оба операнда представлены в прямом коде, то процедура вычитания выполняется так:

0.001010 -1.000111 0.000011 =310.

А если вычитаемое, т.е. -7, представить в дополнительном коде, то процедура вычитания сводится к процедуре сложения:

0.001010 + 1,111001 1 0.000011 =310.

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

Вещественные числа

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

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

Я = ш р п.

Например, число 25,324 можно записать в таком виде:

Здесь т = 0.25324 - мантисса; п = 2 - порядок. Порядок указывает, на какое количество позиций и в каком направлении должна «переплыть», т.е. сместиться, десятичная точка в мантиссе. Отсюда название «плавающая точка».

Однако справедливы и следующие равенства:

25,324 = 2,5324- 10 1 = 0,0025324 10 4 = 2532,4 - 10" 2 ит.п.

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

Иначе говоря, мантисса меньше единицы и первая значащая цифра - не ноль. Значит, для рассмотренного числа нормализованным представлением будет 0.25324 10 2 . В разных типах ЭВМ применяются различные варианты представления чисел в форме с плавающей точкой. Для примера рассмотрим один из возможных. Пусть в памяти компьютера вещественное число представляется в форме с плавающей точкой в двоичной системе счисления = 2) и занимает ячейку размером 4 байта. В ячейке должна содержаться следующая информация о числе: знак числа, порядок и значащие цифры мантиссы. Вот как эта информация располагается в ячейке:

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

В семи двоичных разрядах помещаются двоичные числа в диапазоне от 0000000 до 1111111. В десятичной системе это соответствует диапазону от 0 до 127 - всего 128 значений. Знак порядка в ячейке не хранится. Но порядок, очевидно, может быть как положительным так и отрицательным. Разумно эти 128 значений разделить поровну между положительными и отрицательными значениями порядка.

В таком случае между машинным порядком и истинным (назовем его математическим) устанавливается следующее соответствие:

Машинный порядок

Математический порядок

Если обозначить машинный порядок Мр , а математический - р, то связь между ними выразится формулой

Мр = р + 64.

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

Полученная формула записана в десятичной системе. Поскольку 64 |0 = 40 16 (проверьте!), то в шестнадцатеричной системе формула примет вид

Мр 1в =Рб + 40 16 .

И наконец, в двоичной системе

Мр 2 =р 2 + юо 0000 2 .

Теперь мы можем записать внутреннее представление числа 25,324 в форме с плавающей точкой.

  • 1. Переведем его в двоичную систему счисления с 24 значащими цифрами:
  • 25,324 10 = 11001,0101001011110001101 2 .
  • 2. Запишем в форме нормализованного двоичного числа с плавающей точкой:
  • 0,110010101001011110001101 Ю 101 .

Здесь мантисса, основание системы счисления (2 10 = 10 2) и порядок (5 10 = 101 2) записаны в двоичной системе.

3. Вычислим машинный порядок:

Мр 2 = 101 + 100 0000= 100 0101.

4. Запишем представление числа в ячейке памяти:

Для того чтобы получить внутреннее представление отрицательного числа -25,324, достаточно в полученном выше коде заменить в разряде знака числа 0 на 1.

А в шестнадцатеричной форме:

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

Рассмотрим, наконец, вопрос о диапазоне чисел, представимых в форме с плавающей точкой. Очевидно, положительные и отрицательные числа расположены симметрично относительно нуля. Следовательно, максимальное и минимальное числа равны между собой по модулю: Я тах = |/? т; п |. Наименьшее по абсолютной величине число равно нулю. Чему же равно Я тах? Это число с самой большой мантиссой и самым большим порядком:

0,111111111111111111111111 ю5 111Ш.

Если перевести в десятичную систему, то получится

Л тах =(1 -2- 24)-2 64 = 10 19 .

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

(1/2) 2 -64 = 2 -66 .

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

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

N = 2"-(U-L+ 1)+ 1.

Здесь t - количество двоичных разрядов мантиссы; U - максимальное значение математического порядка; L - минимальное значение порядка. Для рассмотренного нами варианта (/ = 24, U = 63, L = -64) получается

N=2 146683548.

Все же остальные числа, не попадающие в это множество, но находящиеся в диапазоне допустимых значений, представляются в памяти приближенно (мантисса обрезается на 24-м разряде). А поскольку числа имеют погрешности, то и результаты вычислений с этими числами также будут содержать погрешности. Из сказанного следует вывод: вычисления с вещественными числами в компьютере выполняются приближенно.

Единицы измерения информации

Бит (англ, binary digit; также игра слов: англ, bit - немного) (один двоичный разряд в двоичной системе счисления) - одна из самых известных единиц измерения количества информации.

Ниббл (англ, nibble, nybble), или полубайт, - единица измерения информации, равная четырем двоичным разрядам (битам); удобна тем, что представима одной шестнадцатеричной цифрой, т.е. является одним шестнадцатеричным разрядом.

Байт (англ, byte, представляет собой сокращение словосочетания BinarYTErm - «двоичный терм») - единица хранения и обработки цифровой информации. В современных вычислительных системах байт считается равным восьми битам, в этом случае он может принимать одно из 2 8 = 256 различных значений (состояний, кодов). Однако в истории компьютеров известны решения с другим размером байта, например 6 битов, 36 битов в PDP- 10. Поэтому иногда в компьютерных стандартах и официальных документах для однозначного обозначения 8-битного слова используется термин «октет» (лат. octet). В большинстве вычислительных архитектур байт - это минимальный независимо адресуемый набор данных.

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

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

Десятичные и двоичные кратные приставки

Двоичные приставки - приставки перед единицами измерения, обозначающие их умножение на 2 10 = 1024. Благодаря близости чисел 1024 и 1000 двоичные приставки построены по аналогии со стандартными десятичными приставками СИ. Каждая двоичная приставка получается заменой последнего слога соответствующей десятичной приставки на би (от лат. binarius - двоичный). Двоичные приставки используются для образования единиц измерения информации, кратных битам и байтам. Приставки были введены Международной электротехнической комиссией (МЭК) в марте 1999 г. Выглядят они следующим образом (табл. 2.6).

Представление текстовой информации в ЭВМ.

Кодировки ASCII и Unicode

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

ASCII (англ. American Standard Code for Information Interchange) - американская стандартная кодировочная таблица для печатных символов и некоторых специальных кодов (коды с 0x00 по 0x1 F).

ASCII представляет собой кодировку для представления десятичных цифр, латинского и национального алфавитов, знаков препи-

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

Двоичная

приставка

Аналогичная

десятичная

приставка

Сокращения по МЭК для битов, байтов

Значение, на которое умножается исходная величина

киби/кіЬі (2 10)

Кибит, КиБ/КлВ

меби/теЫ (2 20)

Мибит, МиБ/МШ

2 20 = 1 048 576

гиби/§іЬі (2 30)

Гибит, ГиБ/вШ

2 30 = 1 073741 824

тебиДеЬі (2 40)

тера (10 12)

Тибит, ТиБ/ТШ

2 40 = 1 099511 627776

пеби/реЬі (2 50)

пета (10 15)

Пибит, ПиБ/Р1В

2 50 = 1 125 899906842624

эксби/ехЫ (2 60)

экса (10 18)

Эибит, ЭиБ/ЕШ

2 60 = 1 152921504606846976

зеби/геЬі (2 70)

зетта (10 21)

Зибит, ЗиБ/71В

2 70 = 1 180591620717411 303424

йоби/уоЬі (2 80)

йотта (10 24)

Йибит, ЙиБ/У1В

2 80 = 1 208925819614629 174706 176

нания и управляющих символов. Изначально разработанная (в 1963 г.) как 7-битная, после широкого распространением 8-бит-ного байта ASCII стала восприниматься как половина 8-битной. В компьютерах обычно используют расширения ASCII с задействованным 8-м битом и второй половиной другой кодовой таблицы (например, КОИ 8).

Юникод или Уникод (англ. Unicode) - стандарт кодирования символов, позволяющий представить знаки практически всех письменных языков.

Стандарт предложен в 1991 г. некоммерческой организацией «Консорциум Юникода» (англ. Unicode Consortium, Unicode Inc.). Применение этого стандарта позволяет закодировать очень большое число символов из разных письменностей: в документах Unicode могут соседствовать китайские иероглифы, математические символы, буквы греческого алфавита, латиницы и кириллицы; при этом становится ненужным переключение кодовых страниц.

Стандарт состоит из двух основных разделов: универсального набора символов (англ. UCS, universal character set) и семейства кодировок (англ. UTF, Unicode transformation format). Универсальный набор символов задает однозначное соответствие символов кодам, представляющим неотрицательные целые числа. Семейство кодировок определяет машинное представление кодов UCS.

Для определения формата представления Юникода в начало текстового файла записывается сигнатура - код FEFF (символ с таким кодом в Unicode отсутствует), также именуемый меткой порядка байтов (англ, byte order mark, BOM). Также этот способ иногда применяется для обозначения формата UTF 8, хотя к этому формату и неприменимо понятие порядка байтов.

Основные Unicode-кодировки:

  • UTF-8 (EF ВВ BF);
  • UTF-16BE (FE FF);
  • UTF-16LE (FF FE);
  • UTF-32BE (0000 FE FF);
  • UTF-32LE (FF FE0000).
  • + ^т-2Ят 2 + + + Яо
  • + ^т-2Ят 2 + + + Яо
  • + ^т-2Ят 2 + + + Яо
  • + ^т-2Ят 2 + + + Яо
  • + ^т-2Ят 2 + + + Яо
  • + ^т-2Ят 2 + + + Яо
  • + ^т-2Ят 2 + + + Яо
  • - ^]доп - 1-^1об