Похожие презентации:
Компьютерная арифметика. § 24. Особенности представления чисел в компьютере. 10 класс
1. Компьютерная арифметика
1Компьютерная
арифметика
§ 24. Особенности представления чисел в
компьютере
§ 25. Хранение в памяти целых чисел
§ 26. Операции с целыми числами
§ 27. Хранение в памяти вещественных чисел
§ 28. Операции с вещественными числами
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
2. Компьютерная арифметика
2Компьютерная
арифметика
§ 24. Особенности
представления чисел в
компьютере
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
3. Предельные значения чисел
Компьютерная арифметика, 10 класс3
Предельные значения чисел
В математике нет предельных значений!
В компьютере – конечное число деталей, ограниченное
количество разрядов.
? Какой диапазон?
10000?
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
4. Предельные значения чисел
Компьютерная арифметика, 10 класс4
Предельные значения чисел
система счисления
с основанием B
Cmax B 1
K
K разрядов
Переполнение разрядной сетки — это ситуация, когда
число, которое требуется сохранить, не умещается в
имеющемся количестве разрядов вычислительного
устройства.
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
5. Вещественные числа
Компьютерная арифметика, 10 класс5
Вещественные числа
? Какой диапазон?
система счисления с
основанием B
F разрядов в
дробной части
К.Ю. Поляков, Е.А. Ерёмин, 2018
Cmin B
F
http://kpolyakov.spb.ru
6. Неточность представления
Компьютерная арифметика, 10 класс6
Неточность представления
0,1234567
! Не все вещественные числа могут быть
представлены в компьютере точно!
1,3211
1,3212
1,3214
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
7. Сравнение вещественных чисел
Компьютерная арифметика, 10 класс7
Сравнение вещественных чисел
X 10 , Y 10
6
X Y 1
6
хранится неточно!
неточный результат!
0,3 0,1 0,1 0,1
! При сравнении вещественных чисел
желательно избегать операции «равно»!
X Y 1
1 X Y
X Y
X Y
К.Ю. Поляков, Е.А. Ерёмин, 2018
допустимая
погрешность (10-6)
http://kpolyakov.spb.ru
8. Сравнение вещественных чисел
Компьютерная арифметика, 10 класс8
Сравнение вещественных чисел
ДП № 74. a + b = c
Даны три действительных числа: a, b, c. Проверьте, выполняется ли
равенство a + b = c . Если равенство выполняется, выведите YES, если не
выполняется, выведите NO.
Входные данные
Числа a, b, c – действительные, положительные, не превосходят 10 и заданы
не более, чем с 7 знаками после точки.
Выходные данные
Выведите результат сравнения.
ДП №№ 596, 597, 595
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
9. Дискретность
Компьютерная арифметика, 10 класс9
Дискретность
1. Целые числа дискретны.
2. Вещественные числа непрерывны.
3. Компьютер работает только с дискретными данными.
! Для хранения вещественных чисел
нужна дискретизация!
4. При дискретизации может происходить потеря
информации (искажение данных).
5. Большинство трудностей связано с кодированием
вещественных чисел.
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
10. Компьютерная арифметика
10Компьютерная
арифметика
§ 25. Хранение в памяти
целых чисел
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
11. Целые числа без знака (unsigned)
Компьютерная арифметика, 10 классЦелые числа без знака (unsigned)
Беззнаковые данные – не могут быть отрицательными.
78 = 10011102
младший
старший
7
6
5
4
3
2
1
0
0
1
0
0
1
1
1
0
старший полубайт
старшая цифра
416
биты
младший полубайт
младшая цифра
E16
10011102 = 4E16 = ‘N’
11
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
12. Целые числа без знака
Компьютерная арифметика, 10 класс12
Целые числа без знака
X 10
0
1
…
127
128
…
255
X 16
0016
0116
…
7F16
8016
…
FF16
…
0111 11112
1000 00002
…
1111 11112
X 2 0000 00002 0000 00012
0 FF
+
1111 1111
0000 0001
16
255
1 0000 0000
4016
64
192
C016
128
8016
0
64
128
192
255
016
4016
8016
C016
FF16
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
13. Целые числа без знака: диапазон
Компьютерная арифметика, 10 класс13
Целые числа без знака: диапазон
X max 2 1
K
K
Xmin
Xmax
8
0
255
16
0
65 535
32
0
4 294 967 295
64
0
18 446 744 073 709 551 615
К.Ю. Поляков, Е.А. Ерёмин, 2018
типы данных
byte (Паскаль)
unsigned char (С++)
word (Паскаль)
unsigned short
(С++)
cardinal (Delphi)
unsigned int (С++)
Unsigned long
(Си++)
http://kpolyakov.spb.ru
14. Целые числа со знаком
Компьютерная арифметика, 10 класс14
Целые числа со знаком
? Сколько места требуется для хранения знака?
Старший (знаковый) бит числа определяет его знак.
Если он равен 0, число положительное, если 1, то
отрицательное.
Прямой код:
≥0
78 = 10011102
0
1
0
0
1
1
1
0
– 78 = –10011102
1
1
0
0
1
1
1
0
<0
операции с положительными и отрицательными
числами выполняются по-разному!
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
15. Целые числа со знаком
Компьютерная арифметика, 10 класс15
Целые числа со знаком
Идея: «– 1» должно быть представлено так, чтобы при
сложении с числом «1» получить 0.
? Как кодируется «-1»?
1111 1111
+ 0000 0001
1 0000 0000
-1 255
1
256
Для 8-битных чисел: код числа «–X» равен двоичному
коду числа 256 – X (дополнение до 256).
! При K-битном кодировании дополнительный код
числа «–X» равен двоичному коду числа 2K – X
(дополнение до 2K).
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
16. Как построить дополнительный код?
Компьютерная арифметика, 10 класс16
Как построить дополнительный код?
Алгоритм А0: перевести число 2K – X в двоичную
систему счисления.
для вычислений требуется K+1 разряд
Алгоритм А1:
1) перевести число X в двоичную систему счисления;
2) построить обратный код, выполнив инверсию всех
битов (заменить 0 на 1 и наоборот);
3) к результату добавить 1.
78 = 010011102
10110001 инверсия
-78 10110010 +1
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
17. Как построить дополнительный код?
Компьютерная арифметика, 10 класс17
Как построить дополнительный код?
Алгоритм А2:
1) перевести число X-1 в двоичную систему счисления;
2) выполнить инверсию всех битов.
78 - 1 = 77 = 010011012
-78 10110010 инверсия
Алгоритм А3:
1) перевести число X в двоичную систему счисления;
2) выполнить инверсию всех старших битов числа,
кроме младшей единицы и нулей после нее.
78 = 010011102
-78 10110010 инверсия
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
18. Целые числа со знаком
Компьютерная арифметика, 10 класс18
Целые числа со знаком
X 10
–128
–127
…
–1
0
…
127
X 16
8016
8116
…
FF16
0016
…
7F16
X2
1000 00002
1000 00012
…
1111 11112
0000 00002
…
0111 11112
8016 7F
16
–128 127
С016 – 64
64 4016
–1 0 1
FF16
1
–128
–64
–1 0 1
64
127
8016
С016
FF16 0116
4016
7F16
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
19. Целые числа co знаком: диапазон
Компьютерная арифметика, 10 класс19
Целые числа co знаком: диапазон
X min 2
X max 2
K 1
K
Xmin
Xmax
8
– 128
127
16
– 32 768
32 767
32
– 2 147 483 648
2 147 483 647
64
– 263
263 – 1
К.Ю. Поляков, Е.А. Ерёмин, 2018
K 1
1
типы данных
shortInt (Delphi)
char (С++)
smallInt (Delphi)
short (С++)
integer (Delphi)
int (С++)
int64 (Delphi)
long (С++)
http://kpolyakov.spb.ru
20. Представление целых чисел
Компьютерная арифметика, 10 класс20
Представление целых чисел
Старший (знаковый) бит числа определяет его знак.
Если он равен 0, число положительное, если 1, то
отрицательное.
7
6
5
4
3
2
1
0
Положительные числа
Отрицательные числа
ПРЯМОЙ КОД
ДОПОЛНИТЕЛЬНЫЙ КОД
Алгоритм А3:
1) перевести число X в двоичную систему счисления;
2) выполнить инверсию всех старших битов числа,
кроме младшей единицы и нулей после нее.
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
21. Задание
Компьютерная арифметика, 10 класс21
Задание
1. Запишите машинные коды целых десятичных чисел в 16-ти
разрядной сетке.
В
ответе укажите
счисления.
-256;
представление
344;
числа
-172;
16-ой
системе
128
2. Запишите числа по их 16-ому коду.
649C;
К.Ю. Поляков, Е.А. Ерёмин, 2018
F0A3;
9D8C;
5AC0
http://kpolyakov.spb.ru
22. Компьютерная арифметика
22Компьютерная
арифметика
§ 26. Операции с целыми
числами
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
23. Сложение и вычитание
Компьютерная арифметика, 10 класс23
Сложение и вычитание
! Операции с положительными и отрицательными
числами выполняются по одинаковым алгоритмам!
+ 5
-9
-4
+ 0000 0101
1111 0111
1111 1100
! Вычитание = сложение с дополнительным кодом
вычитаемого!
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
24. Переполнение
Компьютерная арифметика, 10 класс24
Переполнение
дополнительный
бит
0 01100000
0 00100001
0 1 0000001
S’ S
знаковый бит
96
33
-127
1 10100000
+
1 11011111
1 0 1111111
S’ S
-96
-33
127
+
! Если бит S не совпадает с битом S’,
произошло переполнение и результат неверный.
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
25. Найдите значение выражения A+B, A-B, B-A
Компьютерная арифметика, 10 класс25
Найдите значение выражения A+B, A-B, B-A
1. В 8-ми разрядной сетке
a. A = 120, B = 66
b. A = 34, B = 84
c.
A = 80, B = -12
d. A = -56, B = 44
2. В 16-ти разрядной сетке
a. A = 649C, B = 1BD5
b. A = F0A3, B = AB37
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
26. Умножение
Компьютерная арифметика, 10 класс26
Умножение
× 00001001
9
5
00000101
00001001
+ 00000000
00001001
0000101101 45
× 11110111
-9
5
00000101
11110111
+ 00000000
11110111
10011010011 -45
! Умножение выполняется с помощью сложения и
сдвига.
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
27. Поразрядные логические операции
Компьютерная арифметика, 10 класс27
Поразрядные логические операции
Поразрядные операции выполняются
с отдельными битами числа и не
регистр
влияют на остальные.
? Сложение – это поразрядная
операция?
Операция «НЕ» (инверсия, not):
R
1
0
0
1
1
0
1
0
not R
0
1
1
0
0
1
0
1
К.Ю. Поляков, Е.А. Ерёмин, 2018
0
1
0
0
1
0
0
0
http://kpolyakov.spb.ru
28. Логическая операция «И» (and, &)
Компьютерная арифметика, 10 класс28
Логическая операция «И» (and, &)
данные
D
0
1
0
1
маска
Маска – константа, которая
определяет область
применения логической
операции к битам
многоразрядного числа.
AA16 and 6C16 = ?
D and M
0
0
0
1
M
0
0
1
1
7
6
5
4
3
2
1
0
D
1
0
1
0
1
0
1
0
AA16
M
0
1
1
0
1
1
0
0
6С16
D and M
0
0
1
0
1
0
0
0
2816
! С помощью операции «И» можно сбросить
(установить в ноль) биты, для которых маска равна 0!
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
29. Логическая операция «ИЛИ» (or, |)
Компьютерная арифметика, 10 класс29
Логическая операция «ИЛИ» (or, |)
D
0
1
0
1
D or M
0
1
1
1
M
0
0
1
1
AA16 or 6C16 = ?
7
6
5
4
3
2
1
0
D
1
0
1
0
1
0
1
0
AA16
M
0
1
1
0
1
1
0
0
6С16
D or M
1
1
1
0
1
1
1
0
EE16
! С помощью операции «ИЛИ» можно записать
единицу в биты, для которых маска равна 1!
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
30. Операция «исключающее ИЛИ» (xor, ^)
Компьютерная арифметика, 10 класс30
Операция «исключающее ИЛИ» (xor, ^)
D
0
1
0
1
D xor M
0
1
1
0
M
0
0
1
1
AA16 xor 6C16 = ?
7
6
5
4
3
2
1
0
D
1
0
1
0
1
0
1
0
AA16
M
0
1
1
0
1
1
0
0
6С16
D xor M
1
1
0
0
0
1
1
0
C616
! С помощью операции «исключающее ИЛИ» можно
инвертировать биты, для которых маска равна 1!
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
31. Битовые логические операции (итог)
Компьютерная арифметика, 10 класс31
Битовые логические операции (итог)
0
0
0
0
1
1
1
1
7
6
5
4
3
2
1
0
1
0
0
1
R
1
1
1
1
F16
916
6
5
4
3
2
1
0
1
0
0
1
0
0
0
0
016
7
6
5
4
3
2
1
0
0
0
1
1
0
1
0
0
316
R = R and F916
2) включить лампочки 7 и 4
7
916
1) отключить лампочки 2 и 1, не
трогая остальные
R = R or 9016
3) изменить состояние
лампочек 5, 4 и 2
R = R xor 3416
416
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
32. Битовые логические операции (итог)
Компьютерная арифметика, 10 класс32
Битовые логические операции (итог)
Код заглавной латинской буквы ‘A’ = 4116, а строчной
‘a’ = 6116.
Используя логические операции, преобразуйте код
строчной буквы в заглавную и наоборот.
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
33. Битовые логические операции (итог)
Компьютерная арифметика, 10 класс33
Битовые логические операции (итог)
Выполните операцию X and 3 для x = 4, 5, 8, 15, 16.
Разработайте способы определения делимости на 2, 8 и
16.
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
34. Шифрование с помощью xor
Компьютерная арифметика, 10 класс34
Шифрование с помощью xor
Идея: (A xor B) xor B = A
! Операция «исключающее ИЛИ» обратима, то есть
ее повторное применение восстанавливает исходное
значение!
Текст: 2*2=4
Коды символов:
'2' = 3216 = 001100102
'*' = 2A16 = 001010102
'=' = 3D16 = 001111012
'4' = 3416 = 001101002
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
35. Шифрование с помощью xor
Компьютерная арифметика, 10 класс35
Шифрование с помощью xor
Маска: 23 = 1716 = 000101112
'2' 3216 xor 1716 = 2516 '%'
'*' 2A16 xor 1716 = 3D16 '='
'=' 3D16 xor 1716 = 2A16 '*'
'4' 3416 xor 1716 = 2316 '#'
Исходный текст: 2*2=4
Зашифрованный текст: %=%*#
Расшифровка:
'%' 2516 xor 1716 = 3216 '2'
'=' 3D16 xor 1716 = 2A16 '*'
'*' 2A16 xor 1716 = 3D16 '='
'#' 2316 xor 1716 = 3416 '4'
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
36. Логический сдвиг
Компьютерная арифметика, 10 класс36
Логический сдвиг
Влево:
бит
переноса
С
1
Вправо:
1 0 0 1 1 0 1 1
0 0 1 1 0 1 1 0
1 0 0 1 1 0 1 1
0
С, C++, Python:
N = N << 1;
N = N >> 1;
0 1 0 0 1 1 0 1
Паскаль:
0
С
1
shift left
N := N shl 1;
N := N shr 1;
shift right
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
37. Логический сдвиг
Компьютерная арифметика, 10 класс37
Логический сдвиг
Влево:
0 0 0 0 1 1 0 0
0 0 0 1 1 0 0 0
12
24
0 0 0 0 1 1 0 0
0 0 0 0 0 1 1 0
12
6
Вправо:
? Если число нечётное?
Логический сдвиг влево (вправо) – это быстрый
способ умножения (деления без остатка)
положительного числа на 2.
? Если число отрицательное?
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
38. Арифметический сдвиг (вправо)
Компьютерная арифметика, 10 класс38
Арифметический сдвиг (вправо)
–12 1 1 1 1 0 1 0 0
–6
1 1 1 1 1 0 1 0
С
0
? Если число нечётное?
Примеры:
20 10
15 7
–20 –10
–15 –8
11 5
3 1
–11 –6
–3 –2
1 0
–1 –1
К.Ю. Поляков, Е.А. Ерёмин, 2018
Арифметический сдвиг
вправо – деление на 2
нацело с округлением
«вниз» (к ближайшему
меньшему целому).
http://kpolyakov.spb.ru
39. Циклический сдвиг
Компьютерная арифметика, 10 класс39
Циклический сдвиг
Влево:
1 0 0 1 1 0 1 1
0 0 1 1 0 1 1 1
Вправо:
1 0 0 1 1 0 1 1
1 1 0 0 1 1 0 1
! Циклический сдвиг предназначен для
последовательного просмотра битов без
потери данных.
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
40. Задания Олимпиады
Компьютерная арифметика, 10 класс40
Задания Олимпиады
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
41. Пример
Компьютерная арифметика, 10 класс41
Пример
Задача: в целой переменной N (32 бита) закодирована
информация о цвете пикселя в RGB:
24 23
31
0
16 15
R
87
G
0
B
Записать в переменные R, G, B составляющие цвета.
Вариант 1:
1. Обнулить все биты, кроме G.
Маска для выделения G: 0000FF0016
2. Сдвинуть вправо так, чтобы число G передвинулось в
младший байт.
С, C++, Python: G =(N & 0xFF00) >> 8;
Паскаль: G:=(N and $FF00) shr 8;
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
42. Пример
Компьютерная арифметика, 10 класс42
Пример
24 23
31
0
16 15
R
87
G
0
B
Вариант 2:
1. Сдвинуть вправо так, чтобы число G передвинулось в
младший байт.
2. Обнулить все биты, кроме G.
Маска для выделения G: 000000FF16
С, C++, Python : G =(N >> 8) & 0xFF;
Паскаль: G:=(N shr 8) and $FF;
? Как решить, используя только сдвиги?
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
43. Пример
Компьютерная арифметика, 10 класс43
Пример
24 23
31
0
16 15
R
87
G
0
B
С, C++, Python: R =
B=
Паскаль: R:=
B:=
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
44. Компьютерная арифметика
44Компьютерная
арифметика
§ 27. Хранение в памяти
вещественных чисел
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
45. Хранение вещественных чисел
Компьютерная арифметика, 10 класс45
Хранение вещественных чисел
С фиксированной запятой (в первых ЭВМ):
целая часть
дробная часть
0,000000000000012345
123450000000000000,0
для больших и маленьких чисел нужно
масштабирование
С плавающей запятой (автоматическое масштабирование):
A Z B
знак
P
1,2345·10-14
1,2345·1017
порядок P
значащая часть Z
положение
запятой
цифры числа
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
46. Хранение вещественных чисел
Компьютерная арифметика, 10 класс46
Хранение вещественных чисел
Теоретически оптимальный вариант (целая часть = 0):
0,0012345 = 0,12345·10-2
12,345 = 0,12345·102
всегда 0
один разряд расходуется впустую!
X 10
основание системы
счисления
Экономный вариант (целая часть от 1 до B):
0,0012345 = 1,2345·10-3
X 10
12,345 = 1,2345·101
повышение точности при конечном числе разрядов
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
47. Нормализация
Компьютерная арифметика, 10 класс47
Нормализация
Нормализованная форма: значащая часть Z
удовлетворяет условию 1 ≤ Z < B, где B – основание
системы счисления (стандарт IEEE 754).
Пример:
17,25 = 10001,012 = 1,0001012·24
5,375 =
7,625 =
всегда 1, её можно
27,875 =
не хранить в памяти!
13,5 =
0,125 =
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
48. Число обычной точности (single)
Компьютерная арифметика, 10 класс48
Число обычной точности (single)
знак
порядок
значащая часть
-17,25 = -10001,012 = -1,0001012·24
single: 4 байта = 32 бита
31 30
23 22
0
1 1 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
знак порядок со
мантисса = дробная часть Z
смещением
p = 4 + 127 = 131 = 100000112
для single
1 1 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
С
1
8
К.Ю. Поляков, Е.А. Ерёмин, 2018
A
0
0
0
0
http://kpolyakov.spb.ru
49. Диапазон вещественных чисел
Компьютерная арифметика, 10 класс49
Диапазон вещественных чисел
тип
диапазон
число десятичных размер
значащих цифр
(байт)
7-8
4
single
1,4·10-45 – 3,4·1038
double
4,9·10-324 – 1,8·10308
15-16
8
extended
3,6·10-4951 – 1,2·104932
19-20
10
Extended – тип для вычислений в сопроцессоре, единица
в значащей части не скрывается.
Single, double – только для хранения.
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
50. Компьютерная арифметика
50Компьютерная
арифметика
§ 28. Операции с вещественными
числами
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
51. Сложение и вычитание
Компьютерная арифметика, 10 класс51
Сложение и вычитание
! Как сложить два числа с плавающей запятой?
1,2345·10 – 5 + 1,2345·105 = ?
Пример:
7,25 = 111,012 = 1,11012·22
1,75 = 1,112 = 1,112·20
1) порядки выравниваются до большего
1,75 = 0,01112·22
2) значащие части складываются (или вычитаются)
1,11012
+ 0,0111
2
Почему порядки
10,01002
выравнивают до
3) результат нормализуется
большего?
2
3
10,012·2 = 1,0012·2
?
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
52. Умножение и деление
Компьютерная арифметика, 10 класс52
Умножение и деление
! Как умножить два числа с плавающей запятой?
1,2345·10 – 5 · 1,2345·105 = ?
Пример:
1,75 = 1,112 = 1,112·20
6 = 1102 = 1,12·22
? Надо ли выравнивать
порядки?
1) значащие части умножаются (или делятся)
1,112·1,12 = 10,1012
2) порядки складываются (или вычитаются)
0+2=2
3) результат нормализуется
10,1012·22 = 1,01012·23
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
53. Конец фильма
Компьютерная арифметика, 10 класс53
Конец фильма
ПОЛЯКОВ Константин Юрьевич
д.т.н., учитель информатики
ГБОУ СОШ № 163, г. Санкт-Петербург
[email protected]
ЕРЕМИН Евгений Александрович
к.ф.-м.н., доцент кафедры мультимедийной
дидактики и ИТО ПГГПУ, г. Пермь
[email protected]
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru
54. Источники иллюстраций
Компьютерная арифметика, 10 класс54
Источники иллюстраций
1.
авторские материалы
К.Ю. Поляков, Е.А. Ерёмин, 2018
http://kpolyakov.spb.ru