Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции АСУ-ЭВТ 06 / L 1 Представл инф-и.doc
Скачиваний:
34
Добавлен:
10.12.2013
Размер:
126.98 Кб
Скачать

Организация ЭВМ и систем Щемелева Т.К.

Лекция 1.Представление информации в эвм и вычислительных системах.

Основные вопросы: Понятия системы счисления.Алгоритмы переводов из одной системы в другую. Числа в форме с. Дополнительный код двоичного числа. Система кодирования символов ASCII.

1. Понятия системы счисления

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

В позиционной СС вес каждой цифры в числе зависит от позиции. Номер позиции символа называется разрядом. Разряд 0 называется младшим разрядом. Вес зависит от позиции – чем левее, тем вес больше. Например: в числе 505 левый младший разряд равен 1, а правый старший – 4.

Каждой цифре соответствует определенный количественный эквивалент. В общем случае этот эквивалент можно представить выражением:

A(q)=an*qn+an-1*qn-1+..+a1*q1+a0*q0, (1.1)

где: q-основание СС, a-цифра СС, n-номер старшего разряда числа.

Основанием называется количество символов – цифр, которые применяются в записи числа.

Для указания вида СС в конце числа ставиться латинская буква: двоичная – b (далее в тексте b-СС), десятичная – в основном не ставится или d-СС, шестнадцатеричная – h (lдалее - h-СС).

Набор цифр для b-СС: {0,1}; основание степени q=2. Применение этой СС обусловлено тем, что компьютер построен на логических схемах, имеющих в своем элементарном виде только два состояния – включено и выключено. h-СС при производстве вычислений несколько сложнее, чем двоичная, в частности, в том, что касается правил переносов в старшие разряды (займов из старших разрядов). Используется для компактного представления (на бумаге или на экране) двоичной информации, хранимой в памяти ЭВМ. СС с основанием q=16 имеет следующий набор цифр: {0, 1, 2,..,9, A, B, C, D, E, F}.

d-СС имеет набор чисел {0,1,2,3,4,5,6,7,8,9} и основание q=10.

2. Алгоритмы переводов из одной системы в другую

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

Рассмотрим на примере целых чисел переводы из СС.

Перевод из любой СС в d-СС: пусть дано число в b-СС – 100111011011b. Нужно перевести его в:

  • d-СС

Чтобы получить число в d-СС, достаточно представить заданное число в развернутой форме (по формуле 1.1) и выполнить все действия.

(100111011011)2=1*2048+0*1024+0*512+1*256+1*128+1*64+0*32+1*16+1*8+0*4+1*2+1*1=(2523)10

  • h-СС

Для перевода нужно число представить 4-х разрядным числом. Недостающие разряды дополнить нулями для получения полной тетрады. Затем записать веса для 4-х разрядного числа.

1001|1101|1011 =9DBh

( 9 DB)

Перевод из d-СС в любую другую:

  1. Разделить десятичное число A на основание той СС, в которой нужно представить число. Запомнить частное q и остаток А.

  2. Если в результата шага 1 частное q неравно 0, то принять его за новое делимое и отметить остаток А, который будет очередной значащей цифрой числа, вернуться к шагу 1, на котором в качестве делимого (десятичного числа) участвует полученное на шаге 2 частное.

  3. Если в результате шага 1 частное q=0, алгоритм прекращается. Выписать остатки в порядке, обратном их получению. Получится двоичный эквивалент исходного числа.

Для примера переведем число 247 в b-СС

247  247b

247

2

246

123

2

1

122

61

2

1

60

30

2

1

30

15

2

0

14

7

2

1

6

3

2

1

2

1

2

1

0


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

Если помнить, что все цифры для b-СС может принимать одно из двух значений 0 или 1, то проще помнить многочлен типа: …32+16+8+4+2+1, или еще короче, ряд чисел…32,16,8,4,2,1. как весов нулей или единиц в составе двоичного числа. Тогда перевод будет состоять в том, чтобы правильно определить, будет ли участвовать определенный вес из этого ряда в формирования b-СС или нет. Если да, то данному весу соответствует цифра «1», если нет – цифра «0».

Для правильного перевода сначала надо подобрать наибольший вес «единицы» для переводимого числа. Так, например, для числа 55 вес 32 будет наибольшим, т.к. следующий вес в этом ряду, равный 64, уже превышает число 55. Т.е. при весе 32 цифра b-СС есть 1. Затем надо «заполнить» нулями и единицами места для остальных цифр при указанном выше многочлена. Для числа 55 следующий вес 16 также будет нужен, т.е. цифра двоичного числа при этом весе нужна 1, т.к. 32+16=48, что меньше 55. Вес 8 не нужен (цифра двоичного числа равна 0), т.к. 48+8=56, что больше 55.Вес 4, 2, 1 также будут нужны. Таким образом, мы получили двоичное число 110111b, равное 55 в d-СС.

Используя тот же метод, переведем число 111000b в d-СС:

1) Мысленно или письменно расставим веса всех разрядов двоичного числа. 32 16 8 4 2 1 1 1 1 0 0 0

2) Сложим веса разрядов, которым в числе соответствует «1». Получим 32+16+8=56, т.е. 111000b=56.