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

5.3 Формирование машинного целого и вещественного, стандарт ieee

В ЭВМ числа переводятся в двоичную систему счисления.

биты: 7 6 5 4 3 2 1 0 — 1 байт

unsigned — все биты заняты числом (от 0 до 255).

signed — 1-ый бит отводится под знак (от -127 до 127).

Для более эффективного действия с числами, отрицательные числа хранятся в дополнительном коде.

Дополнительный код образуется путем инверсии числа и добавления единицы.

(-11)10=-(23+21+1)10=-(1011)2=-(00001011)2=(10001011)2 — прямой код.

(10001011)2=(11110100)2 — обратный код

(11110100)2+(1)2=(11110101)2— обратный код

Таким образом -0=0.

Старая форма прорма представления чисел:

Биты:

31 — знак

30 — знак порядка

29-23 — порядок

220 — мантисса

1/p<=m<1 => m>0 (p — основание системы счисления, m — мантисса)

0,083*103=0,83*102 (2 — порядок, 10 — основание системы счисления, 0,83 — мантисса)

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

float — 4 байта

по ieee:

биты:

31 — знак

30-23 — приведенный порядок (порядок +127)

22-0 — приведенная мантисса (М) без единицы (implicite one — неявная единица). М такая, что в целой части число, отличное от нуля, но меньше основания системы счисления. Для двоичной системы — это только 1. А в биты записывается М-1.

(101,011)2 :

m=(0,101011)2

M=(1,01011)2

M-1=(0,01011)2

double — 8 байт

по ieee:

биты:

63 — знак

62-52 — приведенный порядок (порядок +1023)

51-0 — М-1

long double — 10 байт

по ieee:

биты:

79 — знак

78-64 — приведенный порядок (порядок +16383)

63-0 — М-1

Пример:

15,375 → float (ieee)

15=8+4+2+1=(1111)2

(0,375)10=(0,25)10+(0,125)10=(0,01)2+(0,001)2=(0,011)2

15,375=(1111,011)2

нормализованный вид:

23*(1,111011)2

приведенный порядок:

3+127=2+128=(10000010)2=(82)16

М-1=(0,111011)2

итог:

0_10000010_11101100000000000000000

(41760000)16

Сопроцессор

-выполняет арифметические действия над числами

R0-R7 — регистры сопроцессора

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