Компьютерная арифметика. § 24. Особенности представления чисел в компьютере

Содержание

Слайд 2

Компьютерная арифметика § 24. Особенности представления чисел в компьютере

Компьютерная арифметика

§ 24. Особенности представления чисел в компьютере

Слайд 3

Предельные значения чисел В математике нет предельных значений! В компьютере –

Предельные значения чисел

В математике нет предельных значений!
В компьютере – конечное число

деталей, ограниченное количество разрядов.

10000?

Слайд 4

Предельные значения чисел система счисления с основанием B K разрядов Переполнение

Предельные значения чисел

система счисления с основанием B

K разрядов

Переполнение разрядной сетки —

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

Вещественные числа система счисления с основанием B F разрядов в дробной части

Вещественные числа

система счисления с основанием B

F разрядов в дробной части

Слайд 6

Неточность представления 0,1234567 1,3211 1,3212 1,3214

Неточность представления

0,1234567

1,3211
1,3212
1,3214

Слайд 7

Сравнение вещественных чисел хранится неточно! неточный результат! допустимая погрешность (10-6)

Сравнение вещественных чисел

хранится неточно!

неточный результат!

допустимая погрешность (10-6)

Слайд 8

Дискретность Целые числа дискретны. Вещественные числа непрерывны. Компьютер работает только с

Дискретность

Целые числа дискретны.
Вещественные числа непрерывны.
Компьютер работает только с дискретными данными.
При дискретизации

может происходить потеря информации (искажение данных).
Большинство трудностей связано с кодированием вещественных чисел.
Слайд 9

Компьютерная арифметика § 25. Хранение в памяти целых чисел

Компьютерная арифметика

§ 25. Хранение в памяти целых чисел

Слайд 10

Целые числа без знака (unsigned) 78 = 10011102 Беззнаковые данные –

Целые числа без знака (unsigned)

78 = 10011102

Беззнаковые данные – не могут

быть отрицательными.

биты

младший

старший

старший полубайт
старшая цифра

младший полубайт
младшая цифра

416

E16

10011102 = 4E16 = ‘N’

Слайд 11

Целые числа без знака 1111 1111 + 0000 0001 1 0000 0000

Целые числа без знака

1111 1111
+ 0000 0001

1 0000

0000
Слайд 12

Целые числа без знака: диапазон

Целые числа без знака: диапазон

Слайд 13

Целые числа со знаком Старший (знаковый) бит числа определяет его знак.

Целые числа со знаком

Старший (знаковый) бит числа определяет его знак. Если

он равен 0, число положительное, если 1, то отрицательное.

Прямой код:

78 = 10011102

– 78 = –10011102

≥ 0

< 0

операции с положительными и отрицательными числами выполняются по-разному!

Слайд 14

Целые числа со знаком Идея: «– 1» должно быть представлено так,

Целые числа со знаком

Идея: «– 1» должно быть представлено так, чтобы

при сложении с числом «1» получить 0.

1111 1111
+ 0000 0001

1 0000 0000

-1 → 255
1
256

Для 8-битных чисел: код числа «–X» равен двоичному коду числа 256 – X (дополнение до 256).

Слайд 15

Как построить дополнительный код? Алгоритм А0: перевести число 2K – X

Как построить дополнительный код?

Алгоритм А0: перевести число 2K – X в

двоичную систему счисления.

для вычислений требуется K+1 разряд

Алгоритм А1:
перевести число X в двоичную систему счисления;
построить обратный код, выполнив инверсию всех битов (заменить 0 на 1 и наоборот);
к результату добавить 1.

78 = 010011102

10110001

-78 → 10110010

← инверсия

+1

Слайд 16

Как построить дополнительный код? Алгоритм А2: перевести число X-1 в двоичную

Как построить дополнительный код?

Алгоритм А2:
перевести число X-1 в двоичную систему

счисления;
выполнить инверсию всех битов.

78 - 1 = 77 = 010011012

← инверсия

Алгоритм А3:
перевести число X в двоичную систему счисления;
выполнить инверсию всех старших битов числа, кроме младшей единицы и нулей после нее.

78 = 010011102

-78 → 10110010

-78 → 10110010

← инверсия

Слайд 17

Целые числа со знаком

Целые числа со знаком

Слайд 18

Целые числа co знаком: диапазон

Целые числа co знаком: диапазон