Читайте также:
|
|
Современные ЭВН предназначены для обработки не только число вой, но и любой символьной информации. Наибольшее распространение получила система кодирования знаков, называемая ASCII - American Standard Code for information Interchange, предложенная в 1963 г. Это семиразрядный код, обеспечивающий 27= 128 различных битовых комбинаций:
32- 48- 0 64- @ 80- Р 96- ' 112- Р
33-! 49-1 65- А 81- Q 97- а 113- q
34- " 50- 2 66- В 82- R 98- b 114- г
35- # 51-3 67- С 83- S 99- c 115- s
36- $ 52-4 68- D 84- T 100- d 116- t
37- % 53- 5 69- E 85- U 101- е 117- u
38- & 54-6 70- F 86- V 102- f 118-v
39- ' 55-7 71- G 87- W 103- g 119- w
40- (56-8 72- H 88- X 104- h 120- x
41-) 57- 9 73- I 89- V 105- i 121- y
42- «58-: 74- J 90- Z 106- j 122- z
43- + 59-; 75- K 91- [ 107- k 123- {
44-, 60- < 76- L 92- \ 108- 1 124-:
45-- 61- = 77- H 93- ] 109- m 125- }
46-. 62- > 78- N 94- ^ 110- n 126-"
47-/ 63-? 79- O 95- _ 111- о 127- |
Этот код, наряду с отображаемыми символами, включает также и управляющие символы с номерами 1...32: 1 - начало заголовка; 2 -начало текста; 3 - конец текста, 4 - конец передачи и т. д.
Позднее было предложено расширение стандарта ASCII за счет введения еше одного разряда, что добавило еще 128 комбинаций с номерами 128...255, Эти комбинации дозволяют закодировать символы национальных алфавитов, базирующихся на латинском алфавите, а также псевдографики и математические символы.
Для представления символов кириллицы применяется альтернативная кодировка ASCII, в которой коды с номерами 128...175 и 224.. .241 заняты символами кириллицы. Указанные коды не затрагивают символов псевдографики, однако часть математических символов, уже не может быть представлена.
Восьмиразрядный двоичный код оказался очень удобной единицей для представления и обработки дискретной информации в ЭВН и поэтому получил специальное наименование - байт. Таким образом 1 байт = 8 двоичных разрядов. Оказалось удобным делать размер ячеек памяти ЭВН кратным байту.
3.4, ПРЕДСТАВЛЕНИЕ ЧИСЛОВОЙ ИНФОРМАЦИИ [ 2,3, 5 ]
Основой представления числовой информации является понятие
системы счисления и машинного изображения чисел,
Система счисления - это совокупность приемов и правил для наименования и обозначения чисел. В каждой системе счисления используется конечное множество (алфавит), символов, называемых цифрами. Системы счисления разделяются на позиционные и непозиционные. В непозиционных системах счисления значение цифры не за висит от ее положения в записи числа.
функцию перевода числа X,записанного в любой системе счисления, в десятичную систему будем обозначать DEC(Х), Примером непозиционной системы является унитарный код. Этот код использует всего один символ, который обозначим "1". Значение унитарного кода 11111u однозначно определяется числом символов 1 в записи кода: DEC(11111u) = 5.
К записи унитарного кода мы добавили символ u (unitary), чтобы было ясно, о какой системе счисления идет речь, поскольку запись 11111 может трактоваться не только как унитарный код, но и как, например, десятичное число. Унитарный код, в силу примитивности лежащего в его основе принципа, использовался первобытным человеком с древнейших времен. а с другой стороны -находит применение в современных вычислительных системах для представления не очень больших чисел в аналого-цифровых преобразователях (АЦП).
Римская система счисления использует алфавит цифр А = {I,V,X,L,С,M} и занимает промежуточное положение между позиционными и непозиционными системами счисления:
DEC(I) = 1, DEC(II) = 2, DEC(III) = 3, DEC (IV) = 4,
DEC(V) = 5, DEC(VI) = б,.... DEC(X) = 10,
DEC{XI) =11.... DEC(XL) = 40, DEC (L) = 50,
DEC(C) = 1000 DEC(M) = 10000.
В позиционных системах счисления значение каждой цифры определяется ее позицией (разрядом) в записи числа. Наибольшее распространение получили весомозначные позиционные системы, в которых значения цифры d, стоящей в 1-й позиции, определяется функцией Q(d.1) = W(1)*DEC(d), где DEC(d) - значение цифры d, рассматриваемой как самостоятельное число; W(1)-вес 1-го разряда.
Система весов W(1), где 1 принимает значение из множества разрядов в записи числа, может быть задана таблицей или в виде формул. Весомозначная система называется естественной, если вес 1-го разряда выражается формулой w(1) = N, где N - основание, равное числу цифр в системе счисления.
при ручном счете используется естественная система с основанием N = 10, т.е. десятичная система.
В вычислительной технике широко используются также следующие естественные системы счисления: двоичная (N = 2),
восьмеричная (N = 8) и шестнадцатеричная (N = 16).
Для представления чисел и другой информации внутри цифровых машин наибольшее распространение получил двоичный алфавит
А = [0,1], который лучше других отвечает требованиям простоты и надежности технического воплощения.
Преимущество двоичной системы счисления над системами с основанием N>2 можно обосновать исходя из условия минимизации сложности представления числа.
Дискретные значения цифр в ЭВМ представляются непрерывными значениями напряжения или тока, а определение конкретного значения цифры осуществляется за счет сравнения конкретного значения этого непрерывного параметра с эталонным уровнем (пороговым значением). Для представления одной цифры в системе с основанием N требуется N-1 эталонных уровней. Величину N-1 примем за сложность представления цифры в системе с основанием N, n-разрядное число в системе счисления с основанием N позволяет закодировать Nn различных комбинаций, или log2(Nn)= n*log2N бит информации.
Сложность n-разрядного числа в системе с основанием N равна (N-1)*n, а сложность представления 1 бита информации q = (N-1)*n/(n*log2N) = (N-1)/log2N.
Расчет значений q для различных N
N... 2 3 4 5 6 7 8 9 10
q... 1 1,26 1,5 1,72 1,93 1,14 2,33 2,52 2,71
показывает, что двоичная система дает наименьшую сложность.
Значение (n+1) - разрядного числа X =d[n]d[n-1]...d[1]d[0] в естественной системе с основанием 8 равно
DEC(X) = Q(d[n],n) + Q(d[n-1), n-1)+... +Q(d[1], 1)+Q(d[0],0). (6)
Например, значение двоичного числа 11010b (здесь b=binary показывает, что речь идет именно о двоичном числе) равно
DEC(11010b) = 24*1 + 23*1 + 22*0 +21*1 + 20*0 =
= 16 + 8 + 0 + 2 + 0 = 26.
Ввиду особой важности двоичной системы нужно знать веса разрядов в этой системе:
20 =1, 21 = 2, 22 = 4, 23 =8, 24 = 16,...,210 = 1024 = K (kilo)
211 = 2K, 212 = 4K,..., 220 = M (mega), 221 = 2M и т.д.
Восьмеричный алфавит А = {0,1, 2,3,4,5,6,7} и шестнадцатеричный А ={0,1,2,3,4,5,6,7,8,9,А,В,С,D,Е,F} Где DEC(A) = 10, DEC(В) =11, DEC(C)=12, DEC(D) = 13, DEC(E) = 14, DEC(F) = 15, ИСПОЛЬЗУЮТСЯ ДЛЯ представления многоразрядных двоичных слов, характеризующих внутреннее состояние регистров и других ячеек нанята вычислительной машины, поскольку, с одной стороны, непосредственное восприятие таких слов неудобно для человека, а с другой - перевод из двоичной в восьмеричную или шестнадцатеричную систему, как будет показано выше, не требует выполнения арифметических операций.
Примеры восьмеричных чисел (о = octuple): 173o и 1000о, причем
DEC(173о) =82*1 + 81*7 +81*7 + 80*3 = 6» * 56 + 3 = 123;
DEC(1000о) =83*1 = 512.
Примера шестнадцатеричных чисел: 2F4b, 173h, причем DEC(2F4h} =162*2 + 161*15 + 160*4 = 512 + 240 + 4 = 756, DEC(173h) =162*1 + 161*7 + 160*3 = 256 + 112 +3 = 371.
В табл. 15 приведены примеры записи чисел в системах с разным
основанием.
До сих пор мы рассматривали только целые числа. при записи двоичных, восьмеричных и шестнадцатеричных дробей разряды справа от запятой получают нумерацию -1, -2, -3,... Например, двоичное число 0,101b имеет десятичный эквивалент
DEC(0,101b) = 2-1 * 1 + 2-2*0 + 2-3*1 = 0,5 + 0 + 0,125 = 0,625.
Другой пример, DEC(0,F5h) = 16-1*15 + 16-2*5 = 245/256.
Перевод чисел из естественной системы с основанием N1 в сиcтему с основанием N2 (N1-->N2).
Перевод N1-->N2 на основе N2.
Формула (б), приведенная выше, может использоваться для перехода от одной естественной системы с основанием N1 к системе соснованием N2, если в правой части этой формулы все действия выполнять в системе с основанием N2.
Например, перевод десятичного числа 12d в двоичную систему счисления ВIN (12d) = 10100 * 1 + 10100 * 10 = 1010 * 10 =1100. Выполнять действия в системе с основанием N2 не всегда удобно.
Таблица 15
Основание системы счисления | |||
A B C D E F 1E 3E8 186A0 |
Перевод N1 -->N2 на основе N1
Число X делим на N2 записываем частное р[1] и остаток r[1]
затем p[1] делим на N2 и получаем частное p[2] и остаток r[2],
p[2] делим на N2 и получаем частное p[3] и остаток r[3] и т. д.
до тех пор, пока не получим р[n] = 0 и r[n].
Остатки, выписанные в обратном порядке r[n] r[n-1] … r[1], заменяем цифрами системы с основанием N2.
Пример. Перевести десятичное число 55d в двоичную систему счисления.
Решение:
55
54 27
1 26 13
1 12 6
1 6 3
0 2 1
1 0 0
Ответ: BIN(55d) = 110111
Для перевода дроби X из системы с основанием N1 в систему с основанием N2 исходное значение X умножаем на N2, выписываем целую и дробную части произведения: e[1] и t[1] соответственно.
Затем t[1] умножаем на N2 и получаем e[2] и t[2]; t[3] умножаем на N2 и получаем e[4] и t[4] и т.д. до тех пор, пока не получим t[1]=0 или необходимое число цифр после запятой. Выписываем e[1] e[2] e[3] … как цифры числа X в системе с основанием N2
Пример: Перевести 0,75d в двоичную систему.
Решение: 0,75
* 2
------------
1,50
* 2
------------
1,0
Ответ: BIN(0,75d) = 0,11
Двоично–кодированные системы счисления
Рассмотрим естественные двоично-кодированные системы счисления, а именно системы с основанием N кратным степени 2, т.е. при N=2k , где k = 2,3,4,… При k=3 имеем восьмеричную систему счисления, а при k=4 – шестнадцатеричную. Перевод чисел из двоично-кодированной системы в другую не требует выполнения сложных операций. Возьмём двоичное число 1100110110111111b
Для его перевода в восьмеричную систему разобьём множество цифр числа на группы по три разряда (триады), начиная с младших разрядов, и заменим каждую триаду соответствующей восьмеричной цифрой:
001 100 110 110 111 111
1 4 6 6 7 7
Получили восьмеричное число 146677, которое имеет тот же количественный эквивалент, что и заданное двоичное число.
Для перевода двоичного числа в шестнадцатеричную систему счисления разбиваем множество цифр числа на группы по четыре разряда (тетрады) и каждую тетраду заменяем соответствующей шестнадцатеричной цифрой 1100 1101 1011 1111
C D B F
Получаем шестнадцатеричную число CDBFh, которое имеет тот же количественный эквивалент, что и заданное двоичное число.
Дробная часть числа переводится аналогичным образом, но направо (начиная от запятой).
Обратный перевод чисел из восьмеричной системы в двоичную заключается в замене каждой восьмеричной цифры соответствующей триадой. Аналогично осуществляется перевод шестнадцатеричных чисел в двоичные.
4. Выполнение операции в автоматах и микропрограммирование
Дата добавления: 2015-10-23; просмотров: 134 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
ФОРМАЛЬНЫЕ ГРАММАТИКИ И ЯЗЫКИ | | | Машинное изображение чисел |