Представление чисел в ЭВМ

Содержание

Слайд 2

Машинные формы представления чисел Два основных способа представления данных в ЭВМ:

Машинные формы представления чисел

Два основных способа представления данных в ЭВМ:
с фиксированной

запятой (точкой);
с плавающей запятой (точкой).
Слайд 3

Представление чисел с фиксированной точкой Каков же диапазон представления чисел для

Представление чисел с фиксированной точкой

Каков же диапазон представления чисел для данного

формата ?
Аmax = (2k-1)+(1-2-m) ,
где k – число разрядов целой части, m – число разрядов дробной части числа ( k + m = n ).
Слайд 4

Представление чисел с фиксированной точкой При использовании фиксированной точки (как правило)

Представление чисел с фиксированной точкой

При использовании фиксированной точки (как правило) числа

представляются в виде целого числа или правильной дроби.
p – разряд

Формат целого числа

Формат дробного числа

Слайд 5

Т.о. при n-разрядном представлении модульной части формат с фиксированной точкой обеспечивает

Т.о. при n-разрядном представлении модульной части формат с фиксированной точкой обеспечивает

диапазон изменения абсолютного значения числа А, для которого выполняется неравенство
2n > |A| ≥ 0.
Слайд 6

Ошибка представления – это один из важнейших параметров представления чисел. Ошибка

Ошибка представления

– это один из важнейших параметров представления чисел.
Ошибка представления может

быть абсолютной (Δ) или относительной (δ).
Слайд 7

максимальные значения ошибок для формата с фиксированной точкой: В случае целых

максимальные значения ошибок для формата с фиксированной точкой:

В случае целых чисел:
Δmax

= 0,5; δmax = Δmax / Аmin = 0,5
где Аmin – миним. значение числа (отличное от 0).
В случае дробных чисел:
Δmax = 0,5⋅2-n = 2-(n+1);
δmax = Δmax / Аmin = 2-(n+1) / 2-n = 0.5
Т. е. в худшем случае ошибка может достигать 50%
Слайд 8

Целые числа в ЭВМ Целые числа представляются в формате с фиксированной

Целые числа в ЭВМ

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

4 (четыре) варианта представления:
Целое число;
Короткое целое число;
Длинное целое число;
Упакованное десятичное число.
Слайд 9

Целое число занимает 2 или 4 байта. Его формат полностью соответствует

Целое число занимает 2 или 4 байта.
Его формат полностью соответствует используемому

центральному процессору.
Для представления отрицательных используется дополнительный код.
Короткое и длинное целое занимают, соответствуют, 4 и 8 байт.
Форматы аналогичные.
Слайд 10

Упакованное десятичное занимает 10 байт. Такое число содержит 18 десятичных цифр

Упакованное десятичное занимает 10 байт.
Такое число содержит 18 десятичных цифр (по

две в каждом байте).
Знак упакованного числа находится в старшем бите самого левого байта. Остальные биты самого старшего байта д.б. равны нулю.
Слайд 11

Арифметические операции над числами в формате с фиксированной точкой К числу

Арифметические операции над числами в формате с фиксированной точкой

К числу основных

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

Выполнение длинных операций (умножение и деление) Реализуется в два этапа: на

Выполнение длинных операций (умножение и деление)

Реализуется в два этапа:
на первом этапе

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

Первый этап … Операнды, как правило, представлены в прямом коде, и

Первый этап …

Операнды, как правило, представлены в прямом коде, и знак

результата, независимо от того, частное это или произведение, ищется за счет сложения по модулю 2 знаковых разрядов операндов.
Если операнды имеют одинаковые знаки – знак результата положителен,
Если операнды имеют разные знаки – знак отрицательный.
Слайд 14

Второй этап … { материал по операциям с алгебраическими числами }

Второй этап …

{ материал по операциям с алгебраическими числами }

Слайд 15

Деление с фиксированной точкой Деление = формирование частного двоичных положительных чисел,

Деление с фиксированной точкой

Деление = формирование частного двоичных положительных чисел, которые

представлены правильными дробями.
Второй этап для деления выполняется двумя способами:
Деление с восстановлением остатка;
Деление без восстановления остатка.
Слайд 16

Достоинства vs. Недостатки

Достоинства vs. Недостатки

Слайд 17

Представление чисел с плавающей точкой При представления числа с плавающей точкой

Представление чисел с плавающей точкой

При представления числа с плавающей точкой число

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

Число с плавающей точкой Х представляется в виде двух частей: мантисса

Число с плавающей точкой Х представляется в виде двух частей:
мантисса

(mx), отображающая запись числа, представляется в виде правильной дроби с форматом фиксированной точкой;
порядок (px), отображающий местоположение в этой записи точки, представляется в виде целого числа с форматом фиксированной точки.
Слайд 19

Количественная оценка числа Х: Х = qPx ⋅ mx , где

Количественная оценка числа Х:
Х = qPx ⋅ mx ,
где q –

основание системы счисления.
Например:
А10 = 239,745 = 0,239745 * 103 = 239745 * 10-3

Порядок (с учетом знака) показывает на сколько разрядов и в какую сторону сдвинута запятая …

Слайд 20

Нормализованная форма числа Распространено и удобно для представление ограничение вида: q-1

Нормализованная форма числа

Распространено и удобно для представление ограничение вида:
q-1 ≤ |mx|

< 1
Форма представления чисел, для которых справедливо данное ограничение, называется нормализованной.
Слайд 21

В прямом коде нормализованного числа мантисса в старшем разряде модуля имеет

В прямом коде нормализованного числа мантисса в старшем разряде модуля имеет

ненулевое значение,
для двоичной системы счисления – нормализованная мантисса должна иметь в старшем разряде модуля прямого кода значение 1,
т.е. для двоичной системы мантисса должна удовлетворять неравенству:
1 > |mx| ≥ 0,5
Слайд 22

При s-разрядном представлении модуля записи мантиссы и k-разрядном представлении модуля записи

При s-разрядном представлении модуля записи мантиссы и k-разрядном представлении модуля записи

порядка форма с плавающей точкой обеспечивает диапазон изменения абсолютного значения числа X, для которого выполняется неравенство:
2|Px|max • |mx|max = 2p • (1-2-s) ≥ |X| ≥ 0
где p = 2k - 1
Слайд 23

Абсолютная и относительная ошибки Максимальная абсолютная погрешность представления чисел: Δmax =

Абсолютная и относительная ошибки

Максимальная абсолютная погрешность представления чисел:
Δmax = 2–(s+1) ⋅

2p
Максимальная относительная погрешность:
δmax = Δmax / Аmin = 2–(s+1) ⋅ 2p / (mx min ⋅ 2p) =
= 2–(s+1) ⋅ 2p / ( 2–1 ⋅ 2p) = 2–(s+1) / (2–1) = 2–s
Слайд 24

В чем преимущество нормализованных чисел ??? Для фиксированной разрядной сетки (при

В чем преимущество нормализованных чисел ???

Для фиксированной разрядной сетки (при фиксированном

количестве цифр в числе) нормализованные числа имеют наибольшую точность.
Нормализованное представление исключает неоднозначность – каждое число с плавающей точкой можно представить различными (ненормализованными) способами.
Слайд 25

Преимущества представления чисел с плавающей точкой: Относительная ошибка при представлении чисел

Преимущества представления чисел с плавающей точкой:

Относительная ошибка при представлении чисел в

форме с плавающей точкой существенно меньше, чем в случае с фиксированной точкой.
Больший диапазон изменения представляемых чисел.
Слайд 26

Формат чисел с плавающей точкой Формат машинного изображения чисел с плавающей

Формат чисел с плавающей точкой

Формат машинного изображения чисел с плавающей точкой

включает знаковые поля (для мантиссы и для порядка), поле мантиссы и поле порядка числа.
Слайд 27

Научная нотация В языках высокого уровня используется такое представление: (знак)(мантисса)Е(знак)(порядок) НАПРИМЕР:

Научная нотация

В языках высокого уровня используется такое представление:
(знак)(мантисса)Е(знак)(порядок)
НАПРИМЕР:
-5.35Е-2 обозначает число -5.35*10-2

Такое

представление называется научной нотацией.
Слайд 28

Действительные числа в ЭВМ В зависимости от типа данных, числа с

Действительные числа в ЭВМ

В зависимости от типа данных, числа с плавающей

точкой в памяти ЭВМ хранятся в одном из следующих форматов:
Одинарной точности;
Двойной точности;
Расширенной точности.
Эти числа занимают, соответственно, 4, 8 или 10 байт
Слайд 29

Для упрощения операций над порядками применяется представление со смещенным порядком: p`

Для упрощения операций над порядками применяется представление со смещенным порядком:
p` =

p + N,
N – смещение (целое положительное число).
N=2k – 1,
k – число двоичных разрядов в поле цифр несмещенного порядка.
Такие смещенные порядки называются ХАРАКТЕРИСТИКАМИ !
Слайд 30

Характеристика Поле характеристики – это степень двойки, на которую умножается мантисса,

Характеристика

Поле характеристики – это степень двойки, на которую умножается мантисса, плюс

смещение.
Смещение равно:
для одинарной точности = 127,
для двойной – 1023,
для расширенной – 16383.
Слайд 31

Арифметика с плавающей точкой Операция сложения Операция умножения Операция деления.

Арифметика с плавающей точкой

Операция сложения
Операция умножения
Операция деления.

Слайд 32

Операция СЛОЖЕНИЯ чисел с плав. точкой Реализуется в 3 этапа: выравнивание

Операция СЛОЖЕНИЯ чисел с плав. точкой

Реализуется в 3 этапа:
выравнивание порядков;
сложение мантисс

операндов, имеющих одинаковые порядки;
определение нарушения нормализации (и при необходимости ее устранение).
Слайд 33

Примеры: Пример 1 Произведем сложение двух чисел 0,5 · 102 и

Примеры:

Пример 1 Произведем сложение двух чисел 0,5 · 102 и 0,8 · 103 в формате с

плавающей запятой.
Решение. Проведем выравнивание порядков и сложение мантисс 0,05 · 103 + 0,8 · 103 = 0,85 · 103. Полученная мантисса 0,85 является нормализованной, так как удовлетворяет условию нормализации.
Пример 2 Произведем сложение двух чисел 0,1 · 22 и 0,1 · 23 в формате с плавающей запятой.
Решение. Проведем выравнивание порядков и сложение мантисс: 0,01 · 23 + 0,1 · 23 = 0,11 · 23. Полученная мантисса 0,11 является нормализованной.
Слайд 34

Примеры: 0.4726*102 + 0.9132*100 = 102 * (0.4726 + 0.0091) =

Примеры:

0.4726*102 + 0.9132*100 = 102 * (0.4726 + 0.0091) = 0.4817*102
0.10112*2-1 + 0.10112*21 =
21*(00.00102 + 00.11012)

=
01.00002*21 =
0.10002*22
Слайд 35

Пример (!) Найти разность С1 чисел А и В, представленных с

Пример (!)

Найти разность С1 чисел А и В, представленных с плавающей

точкой, если А и В представлены в виде порядков [aп]пк и [bп]пк и мантисс, соответственно [ам]пк и [bм]пк , где [ап]пк = 1.001 [ам]пк = 1.11001
[bп]пк = 0.001 [bм]пк = 0.11100
При выполнении операций использовать дополнительный модифицированный код.
Слайд 36

Ответ: После устранения нарушения нормализации окончательный результат будет иметь вид С1

Ответ:
После устранения нарушения нормализации окончательный результат будет иметь вид
С1 → {[c1п]пк

= 00.010, [c1м]пк = 11.10001}
Слайд 37

Операция умножения чисел с плав. точкой С точки зрения представления чисел

Операция умножения чисел с плав. точкой

С точки зрения представления чисел с

плавающей точкой поиск произведения (С2 = А ⋅ В) сводится к поиску С2п и С2м , соответственно порядку и мантиссе произведения на основании порядка ап и мантиссы ам множимого и порядка вп и мантиссы вм множителя.
Учитывая общую запись чисел с плавающей точкой, произведение двух операндов представляется в виде
Слайд 38

Отсюда вытекает, что порядок произведения определяется как сумма порядков сомножителей, а

Отсюда вытекает, что порядок произведения определяется как сумма порядков сомножителей, а

мантисса произведения – как произведение мантисс сомножителей.
Таким образом:
С2п` = ап + bп;
С2м` = ам х bм.
Слайд 39

Последовательность действий при произведении двух чисел: определяется знак произведения как сумма

Последовательность действий при произведении двух чисел:

определяется знак произведения как сумма по

модулю 2 знаковых разрядов мантисс сомножителей;
определяется предварительное значение порядка произведения как сумма порядков сомножителей;
определяется предварительное значение мантиссы произведения как произведение мантисс операндов;
устраняется нарушение нормализации мантиссы произведения (если нарушение имеет место) путем корректировки предварительного значения порядка и мантиссы искомого произведения.
Слайд 40

Деление чисел с плавающей точкой Мантиссу делимого делят на мантиссу делителя;

Деление чисел с плавающей точкой

Мантиссу делимого делят на мантиссу делителя;
Из порядка

делимого вычитают порядок делителя;
Знак частного формируется так же, как и для произведения.
Слайд 41

Представление данных в ЭВМ Элементарной единицей информации для представления данных в

Представление данных в ЭВМ

Элементарной единицей информации для представления данных в машинах

используется байт, который содержит восемь двоичных бит.
Выделяется 2 основных вида данных:
Символьные данные;
Числовые данные.
Слайд 42

Элементы данных представляются в виде последовательности байт переменной длины.

Элементы данных представляются в виде последовательности байт переменной длины.

Слайд 43

Для представления двоичного числа обычно используется ограниченный набор форматов Пример: представление

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

Пример: представление чисел

с плавающей точкой в двухбайтном формате