Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Представление данных.doc
Скачиваний:
45
Добавлен:
16.04.2015
Размер:
713.73 Кб
Скачать

Замечание

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

Приведем пример умножения в дополнительном коде двух чисел xиyдлинойn= 4 бит:

x = x0x1x2x3 = 1100;

y = y0y1y2y3 = 1101;

Циклический алгоритм умножения показан в табл.3.8.

Таблица 3.8.Циклический алгоритм умножения

Этап

Результат

Подготовка к циклу

i=n_1 = 4_1 = 3;

Тело цикла

s3 = s4 +y . x3

Так как x3= 0

Расширение знака s3

s4 = 0000

s3 = s4 = 0000

s3 = 00000

i = i _ 1 = 3 _1 = 2

s2 = s3 +y . x2

Так как x2= 0

Расширение знака s2

s2 = s3 = 00000

s3 = 000000

i = i _ 1 = 2 _1 = 1

s1 = s2 +y . x2

Так как x1= 1

Расширение знака s1

s1 = 000000 + 1101

s1 = 110100

s1 = 1110100

i=i_1 = 2_1 = 1

Выход из цикла

s0 = s1 +y . x0

Так как x1= 1

s0 = 1110100 - 1101

s0 = 0001100

Результат при целочисленной арифметике

00001100

Результат при дробной арифметике

00011000

Из приведенного примера видно, что операция умножения выполняется одинаково – как с беззнаковыми числами, независимо от типа данных и арифметики, различие проявляется только на этапе сохранения конечного результата в формате “двойное слово” длиной 2n. Трактовка типа результата – целые или дробные числа – возлагается на пользователя.

3.7.10. Преобразование форматов в цпос с фиксированной точкой

Преобразование форматов происходит при различного рода пересылках данных (исходных, промежуточных и конечных) из ячеек памяти в регистры и наоборот, когда изменяется формат (“слово”, “длинное слово”, “расширенное слово”). Наиболее общие правила преобразований форматов показаны на рис. 3.23-3.25. В качестве примеров выбраны форматы: слово длиной 4 бита, двойное слово – 8 битов, расширенное слово – 10 битов. Приведенные правила легко распространяются на любую длину слов.

а) слово в двойное слово

3 2 1 0

S

X

X

X

7 6 5 4 3 2 1 0

S

S

S

S

S

X

X

X

б) слово в расширенное словo

3 2 1 0

S

X

X

X

9 8 7 6 5 4 3 2 1 0

S

S

S

S

S

S

S

X

X

X

в) двойное слово в

расширенное

7 6 5 4 3 2 1 0

S

X

X

X

X

X

X

X

9 8 7 6 5 4 3 2 1 0

S

S

S

X

X

X

X

X

X

X

г) двойное слово в слово

7 6 5 4 3 2 1 0

S

S

S

S

S

X

X

X

3 2 1 0

S

X

X

X

д) расширенное слово в слово

9 8 7 6 5 4 3 2 1 0

S

S

S

S

S

S

S

X

X

X

3 2 1 0

S

X

X

X

S – знак

X– значащий бит

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

а ) слово в двойное слово

3 2 1 0

S

X

X

X

7 6 5 4 3 2 1 0

S

0

0

0

0

X

X

X

б ) слово в расширенное слово

3 2 1 0

S

X

X

X

9 8 7 6 5 4 3 2 1 0

S

S

S

0

0

0

0

X

X

X

в )двойное слово в расширенное слово

7 6 5 4 3 2 1 0

S

X

X

X

X

X

X

X

9 8 7 6 5 4 3 2 1 0

S

S

S

X

X

X

X

X

X

X

г ) двойное слово в слово

7 6 5 4 3 2 1 0

S

X

X

X

X

X

X

X

3 2 1 0

S

X

X

X

д ) расширенное слово в слово

9 8 7 6 5 4 3 2 1 0

S

S

S

X

X

X

X

X

X

X

3 2 1 0

S

X

X

X

S – знак

X– значащий бит

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

а ) слово в двойное слово

3 2 1 0

S

X

X

X

7 6 5 4 3 2 1 0

S

X

X

X

0

0

0

0

б ) слово в расширенное слово

3 2 1 0

S

X

X

X

9 8 7 6 5 4 3 2 1 0

S

S

S

X

X

X

0

0

0

0

в )двойное слово в расширенное слово

7 6 5 4 3 2 1 0

S

X

X

X

X

X

X

X

9 8 7 6 5 4 3 2 1 0

S

S

S

X

X

X

X

X

X

X

г ) двойное слово в слово

7 6 5 4 3 2 1 0

S

X

X

X

X

X

X

X

3 2 1 0

S

X

X

X

д ) расширенное слово в слово

9 8 7 6 5 4 3 2 1 0

S

S

S

X

X

X

X

X

X

X

3 2 1 0

S

X

X

X

S – знак

X– значащий бит

Рис.3.25.Преобразование форматов представления дробных чисел при дробной арифметике