Презентация на тему: Компьютерная арифметика

Реклама. Продолжение ниже
Компьютерная арифметика
Компьютерная арифметика
Предельные значения чисел
Предельные значения чисел
Вещественные числа
Неточность представления
Сравнение вещественных чисел
Дискретность
Компьютерная арифметика
Целые числа без знака ( unsigned )
Целые числа без знака
Целые числа без знака: диапазон
Целые числа со знаком
Целые числа со знаком
Как построить дополнительный код?
Как построить дополнительный код?
Целые числа со знаком
Целые числа co знаком: диапазон
Компьютерная арифметика
Сложение и вычитание
Переполнение
Умножение
Поразрядные логические операции
Логическая операция «И» ( and, & )
Логическая операция «ИЛИ» ( or, | )
Операция «исключающее ИЛИ» ( xor, ^ )
Битовые логические операции (итог)
Шифрование с помощью xor
Шифрование с помощью xor
Логический сдвиг
Логический сдвиг
Арифметический сдвиг (вправо)
Циклический сдвиг
Пример
Пример
Пример
Компьютерная арифметика
Хранение вещественных чисел
Хранение вещественных чисел
Нормализация
Число обычной точности ( single )
Диапазон вещественных чисел
Компьютерная арифметика
Сложение и вычитание
Умножение и деление
Конец фильма
Источники иллюстраций
1/47
Средняя оценка: 4.3/5 (всего оценок: 99)
Код скопирован в буфер обмена
Скачать (401 Кб)
Реклама. Продолжение ниже
1

Первый слайд презентации: Компьютерная арифметика

1 Компьютерная арифметика § 2 4. Особенности представления чисел в компьютере § 2 5. Хранение в памяти целых чисел § 2 6. Операции с целыми числами § 2 7. Хранение в памяти вещественных чисел § 28. Операции с вещественными числами

Изображение слайда
1/1
2

Слайд 2: Компьютерная арифметика

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

Изображение слайда
1/1
3

Слайд 3: Предельные значения чисел

3 В математике нет предельных значений! В компьютере – конечное число деталей, ограниченное количество разрядов. Какой диапазон? ? 100 0 0 ?

Изображение слайда
1/1
4

Слайд 4: Предельные значения чисел

4 система счисления с основанием B K разрядов Переполнение разрядной сетки — это ситуация, когда число, которое требуется сохранить, не умещается в имеющемся количестве разрядов вычислительного устройства.

Изображение слайда
1/1
5

Слайд 5: Вещественные числа

5 система счисления с основанием B F разрядов в дробной части Какой диапазон? ?

Изображение слайда
1/1
6

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

6 Не все вещественные числа могут быть представлены в компьютере точно ! ! 0,1234 567 1,3211 1,3212 1,3214

Изображение слайда
1/1
7

Слайд 7: Сравнение вещественных чисел

7 хранится неточно! При сравнении вещественных чисел желательно избегать операции «равно» ! ! неточный результат! допустимая погрешность (10 -6 )

Изображение слайда
1/1
Реклама. Продолжение ниже
8

Слайд 8: Дискретность

8 Целые числа дискретны. Вещественные числа непрерывны. Компьютер работает только с дискретными данными. При дискретизации может происходить потеря информации (искажение данных). Большинство трудностей связано с кодированием вещественных чисел. Для хранения вещественных чисел нужна дискретизация ! !

Изображение слайда
1/1
9

Слайд 9: Компьютерная арифметика

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

Изображение слайда
1/1
10

Слайд 10: Целые числа без знака ( unsigned )

10 78 = 1001110 2 Беззнаковые данные – не могут быть отрицательными. 0 1 0 0 1 1 1 0 7 6 5 4 3 2 1 0 биты младший старший старший полубайт старшая цифра младший полубайт младшая цифра 4 16 E 16 1001110 2 = 4E 16 = ‘N’

Изображение слайда
1/1
11

Слайд 11: Целые числа без знака

11 0 1 … 127 128 … 255 00 16 01 16 … 7 F 16 80 16 … FF 16 0000 0000 2 0000 0001 2 … 0111 1111 2 1000 0000 2 … 1111 1111 2 1111 1111 + 0000 0001 1 0000 000 0 255 128 0 64 192 C0 16 FF 16 4 0 16 0 16 80 16 0 FF 16 C0 16 40 16 128 80 16 255 64 192

Изображение слайда
1/1
12

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

12 K X min X max типы данных 8 0 255 byte ( Паскаль ) unsigned char ( Си ) 16 0 65 535 word ( Паскаль ) unsigned short ( Си ) 32 0 4 294 967 295 cardinal ( Delphi ) unsigned int ( Си ) 64 0 18 446 744 073 709 551 615 unsigned long long ( Си ++ )

Изображение слайда
1/1
13

Слайд 13: Целые числа со знаком

13 Сколько места требуется для хранения знака? ? Старший (знаковый) бит числа определяет его знак. Если он равен 0, число положительное, если 1, то отрицательное. Прямой код : 78 = 1001110 2 0 1 0 0 1 1 1 0 – 78 = –1001110 2 1 1 0 0 1 1 1 0 ≥ 0 < 0 операции с положительными и отрицательными числами выполняются по-разному!

Изображение слайда
1/1
14

Слайд 14: Целые числа со знаком

14 Идея : « – 1» должно быть представлено так, чтобы при сложении с числом «1» получить 0. Как кодируется «-1»? ? 1111 1111 + 0000 0001 1 0000 000 0 -1  255 1 256 Для 8-битных чисел : код числа « – X » равен двоичному коду числа 256 – X ( дополнение до 256). При K- битном кодировании дополнительный код числа « – X » равен двоичному коду числа 2 K – X ( дополнение до 2 K ). !

Изображение слайда
1/1
Реклама. Продолжение ниже
15

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

15 Алгоритм А0: перевести число 2 K – X в двоичную систему счисления. для вычислений требуется K+1 разряд Алгоритм А 1 : перевести число X в двоичную систему счисления; построить обратный код, выполнив инверсию всех битов (заменить 0 на 1 и наоборот); к результату добавить 1. 78 = 0 1001110 2 10110001 - 78  10 1100 10  инверсия + 1

Изображение слайда
1/1
16

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

16 Алгоритм А2: перевести число X -1 в двоичную систему счисления; выполнить инверсию всех битов. 78 - 1 = 77 = 0 10011 01 2  инверсия Алгоритм А 3 : перевести число X в двоичную систему счисления; выполнить инверсию всех старших битов числа, кроме младшей единицы и нулей после нее. 78 = 0 10011 10 2 - 78  10 1100 10 - 78  10 1100 10  инверсия

Изображение слайда
1/1
17

Слайд 17: Целые числа со знаком

17 –128 –127 … –1 0 … 127 80 16 81 16 … FF 16 00 16 … 7F 16 1 000 0000 2 1 000 0001 2 … 1 111 1111 2 0000 0000 2 … 0111 1111 2 80 16 7 F 16 40 16 С 0 16 0 1 FF 16 1 27 – 1 28 – 1 64 1 – 64 127 – 1 0 1 – 128 – 64 64 40 16 7 F 16 С 0 16 80 16 FF 16 01 16

Изображение слайда
1/1
18

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

18 K X min X max типы данных 8 – 128 127 shortInt ( Delphi ) char ( Си ) 16 – 32 768 32 767 smallInt ( Delphi ) short ( Си ) 32 – 2 147 483 648 2 147 483 64 7 integer ( Delphi ) int ( Си ) 64 – 2 63 2 63 – 1 int64 ( Delphi ) long long ( Си )

Изображение слайда
1/1
19

Слайд 19: Компьютерная арифметика

§ 2 6. Операции с целыми числами 19

Изображение слайда
1/1
20

Слайд 20: Сложение и вычитание

20 Операции с положительными и отрицательными числами выполняются по одинаковым алгоритмам! ! Вычитание = сложение с дополнительным кодом вычитаемого! ! 0000 0101 1111 0111 + 1111 1 1 00 -4  - 9 5 +

Изображение слайда
1/1
21

Слайд 21: Переполнение

21 знаковый бит дополнительный бит Если бит S не совпадает с битом S’, произошло переполнение и результат неверный. ! 0010000 1 01100000 + 0 10 0 0000 1 96 33 -127 S ’ S 0 0 1 0 1 1 011111 10 10000 0 + 1 0111111 1 -96 - 33 127 S ’ S 1 1 0 1

Изображение слайда
1/1
22

Слайд 22: Умножение

22 9 5  4 5 Умножение выполняется с помощью сложения и сдвига. ! 00001001 × 00000 1 01 00001001 00000000 0000 10 0 1 0000101101 + - 9 5  -4 5 1111 0 11 1 × 00000 1 01 1111 0 11 1 00000000 1111 0 11 1 1 00 1101001 1 +

Изображение слайда
1/1
23

Слайд 23: Поразрядные логические операции

23 Поразрядные операции выполняются с отдельными битами числа и не влияют на остальные. Сложение – это поразрядная операция? ? 0 1 0 0 1 0 0 0 регистр Операция «НЕ» (инверсия, not ): 1 0 0 1 1 0 1 0 R not R 0 1 1 0 0 1 0 1

Изображение слайда
1/1
24

Слайд 24: Логическая операция «И» ( and, & )

24 D M D and M 0 0 0 1 0 0 0 1 0 1 1 1 данные маска Маска – константа, которая определяет область применения логической операции к битам многоразрядного числа. С помощью операции «И» можно сбросить (установить в ноль) биты, для которых маска равна 0! ! 1 0 1 0 1 0 1 0 D D and M 0 1 1 0 1 1 0 0 M 0 0 1 0 1 0 0 0 AA 16 6С 16 28 16 7 6 5 4 3 2 1 0 AA 16 and 6C 16 = ?

Изображение слайда
1/1
25

Слайд 25: Логическая операция «ИЛИ» ( or, | )

25 D M D or M 0 0 0 1 0 1 0 1 1 1 1 1 С помощью операции «ИЛИ» можно записать единицу в биты, для которых маска равна 1! ! 1 0 1 0 1 0 1 0 D D or M 0 1 1 0 1 1 0 0 M 1 1 1 0 1 1 1 0 AA 16 6С 16 EE 16 7 6 5 4 3 2 1 0 AA 16 or 6C 16 = ?

Изображение слайда
1/1
26

Слайд 26: Операция «исключающее ИЛИ» ( xor, ^ )

26 D M D xor M 0 0 0 1 0 1 0 1 1 1 1 0 С помощью операции «исключающее ИЛИ» можно инвертировать биты, для которых маска равна 1! ! 1 0 1 0 1 0 1 0 D D xor M 0 1 1 0 1 1 0 0 M 1 1 0 0 0 1 1 0 AA 16 6С 16 C6 16 7 6 5 4 3 2 1 0 AA 16 xor 6C 16 = ?

Изображение слайда
1/1
27

Слайд 27: Битовые логические операции (итог)

27 0 0 0 0 1 1 1 1 7 6 5 4 3 2 1 0 R 1) отключить лампочки 2 и 1, не трогая остальные 1 1 1 1 1 0 0 1 R = R and F9 16 F 16 9 16 2 ) включить лампочки 7 и 4 7 6 5 4 3 2 1 0 1 0 0 1 0 0 0 0 9 16 0 16 R = R or 90 16 3 ) изменить состояние лампочек 5, 4 и 2 7 6 5 4 3 2 1 0 0 0 1 1 0 1 0 0 3 16 4 16 R = R xor 34 16

Изображение слайда
1/1
28

Слайд 28: Шифрование с помощью xor

28 Идея: ( A xor B ) xor B = Операция «исключающее ИЛИ» обратима, то есть ее повторное применение восстанавливает исходное значение! ! A Текст: 2*2=4 Коды символов: '2' = 32 16 = 00110010 2 '*' = 2A 16 = 00101010 2 '=' = 3D 16 = 00111101 2 '4' = 34 16 = 00110100 2

Изображение слайда
1/1
29

Слайд 29: Шифрование с помощью xor

29 Исходный текст: 2*2=4 '2'  32 16 xor 17 16 = '*'  2A 16 xor 17 16 = '='  3D 16 xor 17 16 = '4'  34 16 xor 17 16 = 2 5 16  ' % ' 3D 16  '=' 2A 16  '*' 23 16  '#' Маска: 23 = 17 16 = 00010111 2 Зашифрованный текст: %=%* # Расшифровка: '%'  25 16 xor 17 16 = '='  3D 16 xor 17 16 = '*'  2A 16 xor 17 16 = '#'  23 16 xor 17 16 = 32 16  ' 2 ' 2A 16  ' * ' 3 D 16  ' = ' 3 4 16  ' 4 '

Изображение слайда
1/1
30

Слайд 30: Логический сдвиг

30 1 0 0 1 1 0 1 1 Влево: 0 0 1 1 0 1 1 0 1 0 бит переноса С Вправо: 1 0 0 1 1 0 1 1 0 1 0 0 1 1 0 1 1 С 0 Си: Паскаль: N = N << 1; N = N >> 1; N := N shl 1 ; N := N shr 1 ; shift left shift right

Изображение слайда
1/1
31

Слайд 31: Логический сдвиг

31 0 0 0 0 1 1 0 0 Влево: 12 0 0 0 1 1 0 0 0 24 0 0 0 0 1 1 0 0 Вправо: 12 0 0 0 0 0 1 1 0 6 Если число нечётное? ? Логический сдвиг влево (вправо) – это быстрый способ умножения (деления без остатка) положительного числа на 2. Если число отрицательное? ?

Изображение слайда
1/1
32

Слайд 32: Арифметический сдвиг (вправо)

32 –12 Если число нечётное? ? 1 1 1 1 0 1 0 0 1 1 1 1 1 0 1 0 0 С – 6 Примеры: 20 1 5 1 1 3 1  10  7  5  1  0 –20 –1 5 –1 1 – 3 –1  –10  – 8  –6  – 2  –1 Арифметический сдвиг вправо – деление на 2 нацело с округлением «вниз» (к ближайшему меньшему целому).

Изображение слайда
1/1
33

Слайд 33: Циклический сдвиг

33 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 Циклический сдвиг предназначен для последовательного просмотра битов без потери данных. !

Изображение слайда
1/1
34

Слайд 34: Пример

34 Задача : в целой переменной N ( 32 бита ) закодирована информация о цвете пикселя в RGB : Записать в переменные R, G, B составляющие цвета. Вариант 1 : Обнулить все биты, кроме G. Маска для выделения G : 00 00FF00 16 Сдвинуть вправо так, чтобы число G передвинулось в младший байт. 0 R G B 31 24 23 16 15 8 7 0 Си: G =(N & 0xFF00) >> 8; Паскаль: G:=(N and $FF00) shr 8;

Изображение слайда
1/1
35

Слайд 35: Пример

35 Вариант 2 : Сдвинуть вправо так, чтобы число G передвинулось в младший байт. Обнулить все биты, кроме G. Маска для выделения G : 000000 FF 16 0 R G B 31 24 23 16 15 8 7 0 Си: G =(N >> 8 ) & 0xFF; Паскаль: G:=(N shr 8 ) and $FF; Как решить, используя только сдвиги? ?

Изображение слайда
1/1
36

Слайд 36: Пример

36 0 R G B 31 24 23 16 15 8 7 0 Си: R = B = Паскаль: R:= B:=

Изображение слайда
1/1
37

Слайд 37: Компьютерная арифметика

§ 2 7. Хранение в памяти вещественных чисел 37

Изображение слайда
1/1
38

Слайд 38: Хранение вещественных чисел

38 С фиксированной запятой (в первых ЭВМ) : целая часть дробная часть для больших и маленьких чисел нужно масштабирование 0,000000000000012345 123450000000000000,0 С плавающей запятой (автоматическое масштабирование) : знак порядок P значащая часть Z положение запятой цифры числа 1, 2345· 10 -14 1, 2345· 10 1 7

Изображение слайда
1/1
39

Слайд 39: Хранение вещественных чисел

39 Теоретически оптимальный вариант (целая часть = 0) : 0,0012345 = 0, 12345· 10 -2 12, 345 = 0,12345 · 10 2 X 10 всегда 0 один разряд расходуется впустую! Экономный вариант (целая часть от 1 до B ) : основание системы счисления X 10 0,0012345 = 1, 2345· 10 -3 12, 345 = 1,2345 · 10 1 повышение точности при конечном числе разрядов

Изображение слайда
1/1
40

Слайд 40: Нормализация

40 Нормализованная форма : значащая часть Z удовлетворяет условию 1 ≤ Z < B, где B – основание системы счисления ( стандарт IEEE 754 ). Пример : 17,25 = 10001,01 2 = 1,000101 2 ·2 4 5,375 = 7,625 = 27,875 = 13,5 = 0,125 = всегда 1, её можно не хранить в памяти!

Изображение слайда
1/1
41

Слайд 41: Число обычной точности ( single )

41 - 17,25 = - 10001,01 2 = - 1,000101 2 ·2 4 знак порядок значащая часть single : 4 байта = 32 бита 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 31 0 22 30 23 мантисса = дробная часть Z порядок со смещением знак p = 4 + 127 = 1 31 = 100000 11 2 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 A 0 0 0 0 для single

Изображение слайда
1/1
42

Слайд 42: Диапазон вещественных чисел

42 тип диапазон число десятичных значащих цифр размер (байт) single 1,4·10 -45 – 3,4·10 38 7-8 4 double 4,9·10 -324 – 1,8·10 308 15-16 8 extended 3,6·10 -4951 – 1,2·10 4932 19-20 10 Extended – тип для вычислений в сопроцессоре, единица в значащей части не скрывается. Single, double – только для хранения.

Изображение слайда
1/1
43

Слайд 43: Компьютерная арифметика

§ 28. Операции с вещественными числами 43

Изображение слайда
1/1
44

Слайд 44: Сложение и вычитание

44 порядки выравниваются до большего значащие части складываются (или вычитаются) результат нормализуется Как сложить два числа с плавающей запятой? ! 1,2345 ·10 – 5 + 1,2345 ·10 5 = ? Пример: 7,25 = 111,01 2 = 1,1101 2 ·2 2 1, 7 5 = 1, 1 1 2 = 1,11 2 ·2 0 1, 7 5 = 0,0111 2 ·2 2 1,1101 2 0, 0 1 1 1 2 + 1 0, 0 100 2 10,01 2 ·2 2 = 1,001 2 ·2 3 Почему порядки выравнивают до большего? ?

Изображение слайда
1/1
45

Слайд 45: Умножение и деление

45 Как умножить два числа с плавающей запятой? ! 1,2345 ·10 – 5 · 1,2345 ·10 5 = ? значащие части умножаются (или делятся) порядки складываются (или вычитаются) результат нормализуется Пример: 1, 7 5 = 1, 1 1 2 = 1, 1 1 2 ·2 0 6 = 1 1 0 2 = 1, 1 2 ·2 2 1,1 1 2 · 1,1 2 = 1 0, 1 01 2 1 0, 1 01 2 ·2 2 = 1, 01 01 2 ·2 3 Надо ли выравнивать порядки? ? 0 + 2 = 2

Изображение слайда
1/1
46

Слайд 46: Конец фильма

46 Конец фильма ПОЛЯКОВ Константин Юрьевич д.т.н., учитель информатики ГБОУ СОШ № 163, г. Санкт-Петербург kpolyakov@mail.ru ЕРЕМИН Евгений Александрович к.ф.-м.н., доцент кафедры мультимедийной дидактики и ИТО ПГГПУ, г. Пермь eremin@pspu.ac.ru

Изображение слайда
1/1
47

Последний слайд презентации: Компьютерная арифметика: Источники иллюстраций

47 авторские материалы

Изображение слайда
1/1
Реклама. Продолжение ниже