Реферат Курсовая Конспект
Хранение данных в ЭВМ - раздел Образование, Кодирование информации Сегодня Эвм Является Основным Инструментом Для Хранения И Обр...
|
Сегодня ЭВМ является основным инструментом для хранения и обработки информации. ЭВМ может хранить информацию различного типа, обрабатывать различные виды информации, а также делать логическое выводы. ЭВМ хранит информацию в зависимости от ее типа в различных форматах.
Для проведения вычислительных операций компьютер хранит целые числа в двоичной системе в формате со знаком или без знака, вещественные числа в форматах с фиксированной или плавающей запятой, отводя под каждое число определенное количество двоичных ячеек. Хранение логических переменных требует минимального количества двоичных ячеек, т.к. логическая переменная может принимать только значения “да ” или “нет”, т. е. 1 или 0. Хранение символьной, звуковой, видео информации также осуществляется по строго разработанным форматам, которые используются различными программными продуктами, что делает их совместимыми.
Рассмотрим формы и форматы хранения данных, и обработку некоторых видов информации подробнее.
Представление числовых данных в ЭВМ. Элементом для хранения единицы информации является двоичная ячейка, в которой может быть записано либо 0, либо 1. Объем информации, хранимой в такой ячейке, один бит. Восемь таких ячеек, объединенных в группу, позволяет хранить байт (8 бит) информации. Типичным для современных компьютеров объединением таких ячеек является объединение по 4 или 8 байт.
Представление целых чисел. Естественная форма. Используя только один байт, можно записать 28 =256 различных положительных чисел в диапазоне от 0 до 255.
Число | Разряды двоичного числа | |||||||
Заметим, что все ячейки отданы под представление самого числа. Очевидно, что если первый разряд выделить под знак числа, то в этом же количестве разрядов можно поместить числа в два раза меньшие по модулю, т.е. от –128 до +127, всего 256 чисел. Например, числа –127 и +127 записываются, как указано в таблице (заштрихованный первый разряд обозначает знак числа).
Число | Разряды двоичного числа | |||||||
-127 |
В двух байтах можно расположить расширенный ряд натуральных чисел в диапазоне от 0 до 65535, а целые числа в диапазоне от –32767 до +32767.
В алгоритмических языках введено понятие типа данных. Примерами типов данных являются символы, целые, числа с плавающей точкой. Другие типы данных включают адреса памяти и машинные команды, которые управляют работой компьютера. В языках С++ и Паскаль имеется предопределенный набор типов данных, который позволяет представлять целые числа, числа с плавающей точкой и отдельные символы. Следует отметить, что в некоторых языках (например, в С++) размеры байта и машинного слова различны в разных машинах. Поэтому следует говорить об этих величинах как о машинно-зависимых понятиях.
Существенным недостатком естественной формы представления числа является ограниченный диапазон представления величин. Если результаты вычислений выходят за допустимые пределы, то наступает переполнение разрядной сетки и результат искажается. В персональных ЭВМ обычно производится автоматический переход к представлению данных в нормальной форме.
Представление вещественных чисел в форме с плавающей точкой. Нормализованная форма. Вещественные константы, даже не отличаясь от целых констант по значению, имеют другую форму внутреннего представления в ЭВМ. При операциях с такими константами эта форма требует использования арифметики с плавающей точкой.
В математике форма представления вещественных чисел разнообразна. Любое число можно представить в различной форме записи, например,
A = 125, 25 = 12525×10-3 = 0,12525×103 = 0,0012525×105.
Поэтому для однозначного понимания представления числа в виде кода ЭВМ необходимо ввести стандарт для записи вещественных чисел. Такой стандарт называется нормализованной формой представления вещественного числа. Любое число в нормальной форме представляется в виде
,
где мантисса числа A, q – основание системы счисления, порядок числа A, причем мантисса должна отвечать условию:
.
Ограничение справа требует, чтобы мантисса представлялась правильной дробью, ограничение слева - чтобы после запятой присутствовала значащая цифра (не 0). Так, число 125,25 представляется в нормализованной форме как 0,12525×10 3.
Значения вещественных типов позволяют определить произвольное число лишь с некоторой точностью, зависящей от внутреннего формата вещественного числа. В таблице представления вещественных типов указано количество знаков в мантиссе, что определяет точность представления числа, и диапазон десятичного порядка, который определяет диапазон чисел, охватываемых данным типом.
Длина в байтах | Название типа в языке Паскаль | Мантисса, значащие цифры | Диапазон десятичного порядка |
single | 7…8 | –45…+38 | |
real | 11…12 | –39…+38 | |
double | 15…16 | –324…+308 | |
extended | 19…20 | –4951…+4932 |
Для представления чисел в нормальной форме используются фиксированные форматы разной длины. Например, для типа длиной в 4 байта в разрядной сетке форматов отводятся места для знака мантиссы (нулевой разряд), знака порядка (первый разряд), значения порядка (6 разрядов, со 2-го по 7-ой), в остальные разряды записывается мантисса числа. В других форматах первый байт не изменяется, а увеличивается область под мантиссу. На рисунке представлена разрядная сетка в формате 4 байта.
Знак | Знак | ||||||||||
mA | PA | PA | mA | ||||||||
. . | … |
Формат числа в нормальной форме
Диапазон представления чисел можно оценить по максимальному значению: , где
При двоичном представлении числа:
Представление нормальной формы в ЭВМ имеет следующие особенности:
1. В нормальных форматах 7 разрядов отводится под значение порядка и его знак. Следовательно, числовая ось порядков находится в диапазоне или . Для облегчения действий над порядками делается смещение числовой оси порядков в область положительных значений, где не требуется учитывать знаки порядков. Это смещение равно +26 = 64 = 4016. Смещенный порядок называется характеристикой и обозначается Рх. Характеристика числа не имеет знака и определяется: .
Теперь характеристика может принимать значения в диапазоне =7F16 и под ее значение отводятся 7 разрядов (27 -1 =127). Очевидно, если Рх=4016, то РА = 0, если Рх< 4016, то порядок отрицательный (РА < 0), при Рх> 4016 - порядок положительный (РА > 0). Если Рх < 0 или Рх > 7F16, то значение характеристики пропадает, и результаты искажаются.
2. Мантиссы и порядки чисел выражаются в шестнадцатеричной системе счисления в двоичном виде. Такое представление обеспечивает увеличение диапазона представляемых чисел, т.к. изменение характеристики на 1 приводит к сдвигу мантиссы на одну шестнадцатеричную цифру, т.е. сразу на одну двоичную тетраду (четыре двоичных разряда).
Действительно, если в формулу подставить q = 16, то Таким образом значение порядка увеличилось в 4 раза.
Представим в разрядной сетке формата в 4 байта два числа: А10 = 41006,5 = А16 = А02Е,8 и В10 = –41006,5 = В16 = –А02Е,8. Для этого найдем нормализованные мантиссы и характеристики: mA = 0,А02Е8, Рх A = 40 + 4= = 44; mB = –0,А02Е8, Рх B = = 40 + 4 = 44.
Знак числа определяется по первой шестнадцатеричной цифре кода числа.
A16=44А02Е80>0 | |||||||||
B16=C4А02Е80<0 | |||||||||
Представление чисел в формате в 4 байта.
Машинные коды чисел и действия над ними. В ЭВМ используются специальные машинные коды чисел. Благодаря такому представлению чисел все арифметические операции над числами сводятся к операциям арифметического сложения и сдвигу их кодов вправо или влево. При этом учитываются знаки чисел, автоматически определяется знак результата и признаки возможного переполнения разрядной сетки заданных форматов. В ЭВМ применяются прямой, обратный и дополнительный коды. Замена операции вычитания на сложение может осуществляться с помощью обратного и дополнительного кодов. Сущность их заключается в том, что вычитаемое B, как отрицательное число, представляется в виде дополнения до некоторой константы K, при которой выполняется условие Обратный и дополнительный коды отличаются выбором значения константы K.
Пусть K = . Следовательно, операцию C = A - B, где A и B - целые положительные числа в любой системе счисления, можно представить в виде:
,
где 10 - основание любой системы счисления;
- константа образования дополнительного кода;
- константа образования обратного кода.
n - количество разрядов представления целых чисел в выбранной системе счисления; для дробных чисел n = 0.
Из выражения следует, что из полученной суммы нужно исключить добавленную константу.
Пример. Пусть A = 46, B = 38. Найти C = A - B.
Константа для дополнительного кода для обратного кода Тогда , .
Из примера следует, что операция вычитания заменяется операцией сложения с дополнениями. Из полученной суммы константа дополнительного кода компенсируется просто ликвидацией единицы переноса из старшего разряда суммы. Константа обратного кода компенсируется путем исключения единицы переноса из старшего разряда суммы и добавления ее к младшему разряду суммы, т.е. требуется дополнительная операция сложения. Поэтому в ЭВМ для выполнения действий используется дополнительный код, а обратный для образования дополнительного кода.
По результатам действий над числами с дополнениями легко определить знак суммы и наличие переполнения разрядной сетки. Переполнение разрядной сетки происходит, если сумма равна или больше по модулю константы образования дополнительного кода.
Пример 2. Пусть A = 46, B = 38. Найти С1 = В - А, С2 = А + В, С3 = -А - В.
Определим (-А)ДОП = 102 - 46 = 54: (-В)ДОП = 102 - 38 = 62.
Из примеров 1 и 2 следует, что при сложении чисел с разными знаками (С и С1), наличие единицы переноса из старшего разряда является признаком положительного результата (С), отсутствие переноса (С1) - признаком отрицательного результата, при этом константа образования дополнительного кода не скомпенсирована и осталась в сумме.
При сложении чисел с одинаковыми знаками признаки противоположны: отсутствие переноса единицы из старшего разряда при положительных слагаемых (С2) является признаком положительного результата, наличие переноса при отрицательных слагаемых (С3) - признаком отрицательного, при этом одна константа компенсируется переносом, а вторая сохраняется в сумме. Эти же признаки в суммах (С2 и С3) указывают на отсутствие переполнения разрядной сетки для записи результатов (результаты имеют два десятичных разряда).
Пример 3. Пусть A = 61, B = 72. Найти С4 = А + В, С5 = -А - В.
Определим (-А) ДОП = 102 - 61 = 39: (-В) ДОП= 102 - 72 = 28.
Здесь в обоих случаях при сложении чисел с одинаковыми знаками происходит переполнение разрядной сетки, признаками которого являются: наличие переноса из старшего разряда при положительных слагаемых (С4) и отсутствие переноса при отрицательных (С5). При получении суммы С5 перенос отсутствует, т.е. обе константы 100 остались в полученном результате. Следовательно, результат 67-100 = -33, -33 - 100 = - 133 по модулю больше константы и в отведенные два разряда не умещается.
Рассмотрим образование кодов в двоичной системе счисления на примере А=±27. Знак числа, как было указано выше, кодируется 0 или 1, записывается перед старшим разрядом и отделяется для наглядности точкой, которая не является частью кода и в разрядной сетке не отражается. Для простоты примем, что задана разрядная сетка в один байт, т.е. 8 двоичных разрядов, из которых один отводится под знак, а 7 для записи числа.
А10 = ± 27 = А16 = ± 1B = А2 = ±11011.
Примем константу для дополнительного кода: К10 = 28 = К2 = 101000 = 100000000 и константу для обратного кода: К10 = 28 - 1 = К2 = 101000 - 1 = 11111111.
В таблице приведены прямой, обратный и дополнительные коды для чисел 27 и -27.
Число | [A]ПК | [A]ОК | [A]ДК | ||||
0.0011011 | 0.0011011 | 0.0011011 | |||||
|
| ||||||
- 11011 | 1.0011011 | 1.1100100 | 1.1100101 |
Приведем правила образования машинных кодов:
1) Прямой код положительного и отрицательного чисел отличаются только знаковыми разрядами, модуль числа не изменяется.
2) Положительное число в прямом, обратном и дополнительном кодах имеет одинаковое изображение.
3) Обратный код отрицательного двоичного числа образуется из прямого кода положительного числа путем замены всех единиц на нули, а нулей на единицы, включая знаковый разряд.
4) Дополнительный код отрицательного числа образуется путем добавления единицы к младшему разряду обратного кода этого же числа или заменой в коде положительного числа всех нулей на единицы, а единиц на нули, исключая последнюю единицу и следующие за ней нули.
Определение прямого кода отрицательного числа по его обратному и дополнительному коду производится по тем же правилам.
Числа, представленные в естественной форме, в памяти ЭВМ представлены в дополнительном коде, числа в нормальной форме хранятся в прямом коде. Действия в ЭВМ выполняются в прямом и дополнительном коде, обратный код используется для получения дополнительного кода.
Действия над числами, представленными в естественной форме.При сложении кодов чисел в естественной форме следует учитывать следующие положения:
1) числа хранятся в дополнительном коде;
2) в сумматоре числа складываются вместе со знаками, при этом образуется знак результата;
3) при сложении чисел с разными знаками единица переноса из знакового разряда стирается, т.е. компенсируется одна константа образования дополнительного кода;
4) признаками переполнения разрядной сетки при сложении кодов чисел с одинаковыми знаками могут служить:
a) знак суммы не соответствует знакам слагаемых;
b) переносы из старшего разряда суммы в знаковый и из знакового не согласуются, т.е. один из них присутствует, а другой отсутствует.
Очевидно, что если переносы согласуются, т.е. оба отсутствуют или оба присутствуют, то переполнение разрядной сетки не происходит.
Пример 4. Дано: А = 267, В = 186. Найти сумму чисел при разных знаках слагаемых в 16-ти разрядном формате.
Решение.
a) представим исходные числа в двоичной системе счисления:
А10 = 267 = А16 = 10B = A2 = 100001011
B10 =186 = B16 = BA = A2 =10111010
b) составим машинные коды этих чисел с разными знаками:
[A]ПК = 0.000000100001011; [B]ПК = 0.000000010111010.
[-A]ДК = 1.111111011110101; [-B]ДК = 1.111111101000110.
c) выполнение действий:
|
С3 = В - А С4 = -А - В
[В]ПК = 0.000000010111010 [-А] ДК = 1.111111011110101
[-А]ДК = 1.111111011110101 [-B] ДК = 1.111111101000110
[С3]ДК = 1.111111110101111<0 [С4] ДК = 11.111111000111011<0
Из примера следует:
1) При получении сумм слагаемых с одинаковыми знаками (С1 и С4) переполнение разрядной сетки не произошло, т. к. знак суммы соответствует знакам слагаемых и переносы в знаковый и из знакового согласуются.
2) При получении сумм С2 и С4 образовался перенос из знакового разряда, который следует исключить.
3) Суммы С1 и С2 - положительные, С2 и С4 - отрицательные, т.е. знаки результатов получены при сложении чисел со знаками.
Полученные суммы заносятся в разрядную сетку памяти в дополнительном коде, т.е. без изменения.
Проверка. Для этого следует перевести полученные суммы любым способом в десятичную систему и сравнить с заданием.
С1 =111000101=1×28 +1×27 + 1×26 + 1×22 +1×20 =256 + 128 +64 + 4 + 1 = 453;
C1=267 + 186 = 453.
C2= 1010001= 5116 = 5×16 + 1 = 81; C2 = 267 - 186 = 81;
C3 = - 1010001 = -[(((((1×2 + 0)2 +1)2 + 0)2 + 0)2 + 0)2 + 1] = -81.
C4 = - 111000101 = - 1C516 = - [(1×16 + 12)16 + 5] = - 453.
Пример 5. Дано А = 24756, В = 8397. Найти суммы положительных и отрицательных значений чисел в 16- разрядном формате.
Решение.
А10 = 24756= А16 = 60B4 = А2 = 110000010110100;
В10 = 8397= В16 = 20CD = В2 = 10000011001101.
С1 = А + В С2 = - А - В
[A]ПК = 0.110000010110100 [-А]ПК = 1.001101101100100
[В]ПК = 0.010000011001101[-B]ДК = 1.110010000101011
[С1]ПК ¹ 1.000000110000001<0 [С2]ДК ¹ 10.111111110001111>0
Полученные суммы не соответствуют ожидаемым результатам, т.к. произошло переполнение разрядной сетки за допустимые значения (32767). Переполнение разрядной сетки легко определить либо по первому признаку - знаки сумм С1 и С2 не соответствуют знакам слагаемых, либо по второму - переносы в знаковый и из знакового разряда в суммах С1 и С2 не согласуются. В этих случаях в больших ЭВМ вырабатывается запрос на прерывание программы, в некоторых типах малых ЭВМ производится автоматический переход к нормальной форме представления данных.
Действия над числами, представленными в нормальной форме. При алгебраическом сложении чисел, представленных в нормальной форме, необходимо учитывать:
1. Числа в нормальной форме хранятся в памяти в прямом коде с нормализованными мантиссами.
2. Сложение кодов производится путем сложения мантисс только при одинаковых порядках (характеристиках) слагаемых. За общий выбирается наибольший порядок. Выравнивание порядков слагаемых осуществляется изменением мантиссы меньшего числа.
Пусть , и . Тогда разность порядков и .
,
где - мантисса, приведенная к большему порядку путем ее сдвига вправо на DP разрядов основания q.
3. При сложении мантисс с одинаковыми знаками возможно переполнение разрядной сетки, что является признаком нарушения нормализации.
4. Результаты в прямом коде нормализуются.
5. Действия в сумматоре выполняются только над кодами мантисс, которые поступают из регистров в младшие 24 разряда сумматора, знаки мантисс и значения характеристик заносятся в специальные схемы, которые обеспечивают выравнивание характеристик, нормализацию мантиссы результата, формирование знака и характеристики суммы. В старшие разряды (0 - 7) сумматора записываются нули.
6. Алгоритм операции алгебраического сложения после выравнивания характеристик зависят от знаков слагаемых:
a) Если знаки слагаемых одинаковы (положительные или отрицательные), то модули мантисс (прямые коды) суммируются. Переполнение определяется наличием переноса 1 из старшего разряда мантиссы в 7-ой разряд сумматора (в поле характеристики), что вызывает нарушение нормализации мантиссы влево. Нормализация результата производится сдвигом мантиссы на одну шестнадцатеричную цифру вправо. Старшая тетрада мантиссы при этом заполняется 0001, а характеристика результата увеличивается на 1. После этого в регистре результата сумматора формируется результат операции: из схем анализа знаков и характеристик заносятся в нулевой разряд знак одного из слагаемых, в 1-7 разряды - характеристика, а в 8-31 разрядах сохраняется мантисса суммы в прямом коде.
b) Если знаки слагаемых различны, то отрицательная мантисса преобразуется в дополнительный код, и мантиссы суммируются. Признаком положительного результата является перенос с 1 из старшего разряда мантиссы в 7-ой разряд суммы, которая стирается. Признаком отрицательного результата - отсутствие переноса 1 в 7-ой разряд, при этом мантисса суммы представлена в дополнительном коде и должна быть преобразована в прямой код. При сложении кодов чисел с разными знаками может произойти нарушение нормализации мантиссы суммы вправо (старшая шестнадцатеричная цифра мантиссы в прямом коде равна нулю).
Нормализация мантиссы суммы производится сдвигом ее влево на одну шестнадцатеричную цифру и уменьшением характеристики на единицу. После этого в регистре сумматора формируется результат: в нулевой разряд заносится знак большего по модулю слагаемого, в 1-7 разряды - характеристика и в 8-31 разряды мантисса результата в прямом коде.
Реализацию этих положений рассмотрим на примерах.
Пример 6. Даны два числа: A =В =Найти С1=А + В, С2= – А – В.
Решение. Будем представлять мантиссы и характеристики чисел в шестнадцатеричной системе: А16 = F,D; В16 = 0,7.
a) Нормализация мантисс и определение характеристик:
mА = 0,FD; PXA = 40 + 1= 41;
mB = 0, 7; PXB = 40 + 0 = 40.
Замечание. Напомним, что характеристика смещена в область положительных (беззнаковых) значений на 26 = 4016.
b) Выравнивание характеристик:
DP= 41– 40 = 1; .
c) Выполнение действий.
1. С1 = А+ В
[mA]ПК = 00 'FD0000; PXA = 41
[mB]ПК = 00 '070000; PXB = 41
[mC1]ПК = 01 '040000; PXC1 = 41
Так как слагаемые с одинаковыми знаками, то перенос 1 из старшего разряда мантиссы характеризует переполнение разрядной сетки, что является нарушением нормализации мантиссы результата влево.
Нормализация мантиссы
[mC1]ПК = 00 '104000; PC1 = 41+ 1 = 42
Проверка. C1 = 10,416 = 16; C1 = 15+ 16.
В разрядной сетке регистра сумматора формируется результат действия: заносятся знак результата (+), характеристика (42) и сохраняется мантисса в прямом коде.
Ответ.
или С1 42104000.
2. С2 = – А – В.
Так как числа A, В и результат С2 хранятся в прямом коде, то нет необходимости выполнять двойное преобразование: данных в дополнительный, а результата в прямой коды. Поэтому действие выполняется С2 = – (А+В), т.е. производится сложение прямых кодов мантисс, а результату приписывается знак одного из чисел (минус), то есть С2 = – С1.
Ответ. С21100 0010 0001 0000 0100 0000 0000 0000 или С2 С2104000.
Пример 7. Даны два числа: A =В =Найти С3 = А – B и С4 = В – А.
Решение.
mB*= 0,07; PXB = 41; - m B* ДОП = 1,00 – 0,07 = 0, F9; [- m B*]ДК = 00' F90000.
mA =0,FD; PXA = 41; - m A ДОП = 1,00 – 0,FD = 0, 03; [- mA]ДК = 00' 030000
1. С3 = A – B
[mA]ПК = 00 'FD0000; PXA = 41
[- mВ*]ДК = 00 'F90000; PXB = 41
[mC3]ДК = 01 'F60000>0; PXC1 = 41
Так как слагаемые с разными знаками, то 1 переноса из старшего разряда является признаком положительного результата и стирается, компенсируя константу дополнительного кода.
Проверка. С3 = F,6 = 15 .
Ответ. С3 0100 0001 1111 0110 0000 0000 0000 0000 или С3 41F60000.
2. C4 = В - А
[mВ*]ПК = 00 '070000 PXB = 41
[- mA]ДК = 00 '030000; PXA = 41
[mC4]ДК = 00 '0A0000<0; PXC4 = 41
Так как слагаемые с разными знаками и перенос из старшего разряда отсутствует, то результат отрицательный в дополнительном коде и должен быть представлен в прямомкоде
[mC4] ПК = 00 ' F60000; PXC4 = 41.
Проверка. С4 = F,4 = –15 .
Ответ. C4 1100 0001 1111 0110 0000 0000 0000 0000 или С4 С1F60000.
Пример 8. Дано: A = 231, B = 219,75. Найти С1 = А – В, С2 = В – А.
Решение. А16 = E7, В16 = DB,C.
a) Нормализация мантисс и определение характеристик.
mA = 0,E7; PXA = 40 + 2 = 42;
mB = 0,DBC; PXB = 40 + 2 = 42;
b) Выполнение действий.
1. С1 = А – В
[mA*]ПК = 00 'E70000; PXA = 42
[- mB*]ДК = 00 '244000; PXB = 42
[mC1]ДК = 01 '0B4000>0; PXC1 = 42
Единица переноса стирается, результат положительный, но произошло нарушение нормализации вправо.
Нормализация мантиссы
[mC1]ПК = 00 'B40000; PXC1 = 42 – 1 = 41.
Проверка. С1 = B,4 = – 11.
Ответ. C10100 0001 1011 0100 0000 0000 0000 0000 или С1 41B40000.
|
[mВ*]ПК = 00 'DBC000 PXB = 42
[- mA]ПК = 00 '190000; PXA = 42
[mC2]ДК = 00 'F4C000<0; PXC2 = 42
[mC2]ПК = 00 '0B4000; PXC2 = 42
Старшая тетрада мантиссы равна нулю, следовательно, произошло нарушение нормализации вправо.
Нормализация мантиссы:
[mC2]ПК = 00 'B40000; PXC2 = 42 – 1 = 41.
Ответ. C2 0100 0001 1011 0100 0000 0000 0000 0000 или C2 41B40000.
Замечание. При выполнении операций умножения и деления порядки не выравниваются, нормализованные мантиссы чисел умножаются или делятся, порядки соответственно складываются или вычитаются, а знаки произведения и частного определяются, как и в естественной форме, сложением по модулю 2 знаков сомножителей или делимого и делителя.
Хранение символьной информации. Рассмотрим, как можно представить символьную информацию, используя только возможности бинарных ячеек.
Каждый символ, будучи представлен числом, в соответствии с некоторой таблицей, о которой договариваются заранее, хранится в компьютере в виде восьми разрядного числа. Таким образом, при вводе информации каждая буква русского или латинского алфавитов, цифра, знак пунктуации, дополнительный символ или действие кодируется определенной последовательностью двоичных цифр в соответствии с таблицами кодирования, например, ДКОИ, КОИ-8, ASCII. Кодировка символов в соответствии с кодом ASCII (American Standard Code for Information Interchange) приведена в двух таблицах: стандартной (Таблица 1) и альтернативной (Таблица 2).
Таблица 1
Код | Символ | Код | Символ | Код | Символ | Код | Символ | Код | Символ | Код | Символ | Код | Символ |
. | < | J | X | f | t | ||||||||
! | / | = | K | Y | g | u | |||||||
" | > | L | Z | h | v | ||||||||
# | ? | M | [ | i | w | ||||||||
$ | @ | N | j | x | |||||||||
% | A | O | ] | k | y | ||||||||
& | B | P | ^ | l | z | ||||||||
' | C | Q | _ | m | { | ||||||||
( | D | R | ` | n | | | ||||||||
) | E | S | a | o | } | ||||||||
* | F | T | b | p | ~ | ||||||||
+ | G | U | c | q | ? | ||||||||
, | : | H | V | d | r | ||||||||
- | ; | I | W | i | s |
Таблица 2
Код | Символ | Код | Символ | Код | Символ | Код | Символ | Код | Символ | Код | Символ | Код | Символ | Код | Символ |
А | Р | а | ░ | └ | ╨ | р | ≡ | ||||||||
Б | С | б | ▒ | ┴ | ╤ | с | ± | ||||||||
В | Т | в | ▓ | ┬ | ╥ | т | ≥ | ||||||||
Г | У | г | │ | ├ | ╙ | у | ≤ | ||||||||
Д | Ф | д | ┤ | − | ╘ | ф | ⌠ | ||||||||
Е | Х | е | ╡ | ┼ | ╒ | х | ⌡ | ||||||||
Ж | Ц | ж | ╢ | ╞ | ╓ | ц | ? | ||||||||
З | Ч | з | ╖ | ╟ | ╫ | ч | ≈ | ||||||||
И | Ш | и | ╕ | ╚ | ╪ | ш | ° | ||||||||
Й | Щ | й | ╣ | ╔ | ┘ | щ | ▪ | ||||||||
К | Ъ | к | ║ | ╩ | ┌ | ъ | ∙ | ||||||||
Л | Ы | л | ╗ | ╦ | █ | ы | √ | ||||||||
М | Ь | м | ╝ | ╠ | ▄ | ь | ⁿ | ||||||||
Н | Э | н | ╜ | ═ | ▌ | э | ² | ||||||||
О | Ю | о | ╛ | ╬ | ▐ | ю | ■ | ||||||||
П | Я | п | ┐ | ╧ | ▀ | я |
Таким образом, фраза “Cat Вася.” будет храниться как следующая последовательность бинарных сигналов:
С | a | t | В | а | с | я | . | |
Однако, используя 8-битную кодировочную таблицу мы не сможем адекватно увидеть на мониторе и тексты, созданные на тех языках, где используются символы, отличные от латинских и кирилличных, например символы с умляутами в немецком языке.
Теоретически давно существует решение этих проблем. Оно называется Unicode (Юникод). Unicode – это кодировочная таблица, в которой для кодирования каждого символа используется 2 байта, т.е. 16 бит. На основании такой таблицы может быть закодировано N=216=65 536 символов.
Юникод включает практически все современные письменности, в том числе: арабскую, армянскую, бенгальскую, бирманскую, греческую, грузинскую, деванагари, иврит, кириллицу, коптскую, кхмерскую, латинскую, тамильскую, хангыль, хань (Китай, Япония, Корея), чероки, эфиопскую, японскую (катакана, хирагана, кандзи) и другие.
С академической целью добавлены многие исторические письменности, в том числе: древнегреческая, египетские иероглифы, клинопись, письменность майя, этрусский алфавит.
В Юникоде представлен широкий набор математических и музыкальных символов, а также пиктограмм.
Для символов кириллицы в Юникоде выделено два диапазона кодов: Cyrillic (#0400 — #04FF) и Cyrillic Supplement (#0500 — #052F).
Но внедрение таблицы Unicode в чистом виде сдерживается по той причине, что если код одного символа будет занимать не один байт, а два байта, что для хранения текста понадобится вдвое больше дискового пространства, а для его передачи по каналам связи – вдвое больше времени.
Поэтому сейчас на практике больше распространено представление Юникода UTF-8 (Unicode Transformation Format). UTF-8 обеспечивает наилучшую совместимость с системами, использующими 8-битные символы. Текст, состоящий только из символов с номером меньше 128, при записи в UTF-8 превращается в обычный текст ASCII. Остальные символы Юникода изображаются последовательностями длиной от 2 до 4 байтов. В целом, так как самые распространенные в мире символы – символы латинского алфавита - в UTF-8 по-прежнему занимают 1 байт, такое кодирование экономичнее, чем чистый Юникод.
– Конец работы –
Эта тема принадлежит разделу:
Арифметические операции в системе чисел... Посмотрим как проводятся расчеты в другой системе чисел Пусть основанием... Сложение Если одним членом некоторой суммы является то сумма равна второму члену Поэтому суммирование с нулем не...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Хранение данных в ЭВМ
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов