рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Хранение данных в ЭВМ

Хранение данных в ЭВМ - раздел Образование, Кодирование информации   Сегодня Эвм Является Основным Инструментом Для Хранения И Обр...

 

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

Для проведения вычислительных операций компьютер хранит целые числа в двоичной системе в формате со знаком или без знака, вещественные числа в форматах с фиксированной или плавающей запятой, отводя под каждое число определенное количество двоичных ячеек. Хранение логических переменных требует минимального количества двоичных ячеек, т.к. логическая переменная может принимать только значения “да ” или “нет”, т. е. 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 = 2­8 = К2 = 101000 = 100000000 и константу для обратного кода: К10 = 2­8 - 1 = К2 = 101000 - 1 = 11111111.

В таблице приведены прямой, обратный и дополнительные коды для чисел 27 и -27.

Число [A]ПК [A]ОК [A]ДК
0.0011011 0.0011011 0.0011011
-

 
-
100000000

   
- 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) выполнение действий:

+
С1 = А + В С2 = А - В
[A]ПК = 0.000000100001011; [А]ПК=0.000000100001011
[В]ПК = 0.000000010111010[-B]ДК=1.111111101000110
[С1]ПК = 0.000000111000101>0 [С2]ДК = 10.000000001010001>0


С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 = AB

[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.

 

Так как знаки слагаемых разные и перенос отсутствует, то результат отрицательный, представлен в дополнительном коде и должен быть преобразован в прямой код.
2. C2 = BA

[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 байт, такое кодирование экономичнее, чем чистый Юникод.

 

– Конец работы –

Эта тема принадлежит разделу:

Кодирование информации

Арифметические операции в системе чисел... Посмотрим как проводятся расчеты в другой системе чисел Пусть основанием... Сложение Если одним членом некоторой суммы является то сумма равна второму члену Поэтому суммирование с нулем не...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Хранение данных в ЭВМ

Что будем делать с полученным материалом:

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

Все темы данного раздела:

Кодирование чисел. Системы счисления.
Код - это набор условных сигналов для записи или передачи некоторых заранее определенных понятий (рис.4.1).

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги