Информационные системы. Представление целых чисел в памяти ЭВМ.
Оценка 4.9

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

Оценка 4.9
Презентации учебные
pptx
информатика
7 кл—10 кл
05.05.2021
Информационные системы. Представление целых чисел в памяти ЭВМ.
Для представления информации в памяти ЭВМ (как числовой, так и не числовой) используется двоичный способ кодирования. Элементарная ячейка памяти ЭВМ имеет длину 8 бит (байт). Каждый байт имеет свой номер (его называют адресом). Наибольшую последовательность бит, которую ЭВМ может обрабатывать как единое целое, называют машинным словом. Длина машинного слова зависит от разрядности процессора и может быть равной 16, 32, 64 битам и т.д. Кодирование символов Для кодирования символов достаточно одного байта. При этом можно представить 256 символов (с десятичными кодами от 0 до 255). Набор символов персональных ЭВМ, совместимых с IBM PC, чаще всего является расширением кода ASCII (American Standard Code for Information Interchange — стандартный американский код для обмена информацией). В настоящее время используются и двухбайтовые предсталения символов. Двоично-десятичное кодирование В некоторых случаях при представлении чисел в памяти ЭВМ используется смешанная двоично-десятичная "система счисления", где для хранения каждого десятичного знака нужен полубайт (4 бита) и десятичные цифры от 0 до 9 представляются соответствующими двоичными числами от 0000 до 1001. Например, упакованный десятичный формат, предназначенный для хранения целых чисел с 18-ю значащими цифрами и занимающий в памяти 10 байт (старший из которых знаковый), использует именно этот вариант.
Информационные системы. Представление целых чисел в памяти ЭВМ.pptx

ИНФОРМАЦИОННЫЕ системы. Представление целых чисел в памяти

ИНФОРМАЦИОННЫЕ системы. Представление целых чисел в памяти

ИНФОРМАЦИОННЫЕ системы. Представление целых чисел в памяти ЭВМ. .

Никитин М.Е., преподаватель профеСсиональных модулей высшей категории

ДЕПАРТАМЕНТ ОБРАЗОВАНИЯ ГОРОДА МОСКВЫ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ПРОФЕССИОНАЛЬНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ГОРОДА МОСКВЫ «Политехнический колледж имени П.А. Овчинникова»

Представление целых чисел Под каждое число выделяется область памяти определённого размера

Представление целых чисел Под каждое число выделяется область памяти определённого размера

2

Представление целых чисел

Под каждое число выделяется область памяти определённого размера
Целые числа:
Знаковые (все биты – информационные), хранение только неотрицательных чисел
Беззнаковые (старший бит – знаковый, остальные – информационные), имеется возможность хранения отрицательных значений
Переполнение – ситуация, при которой результат операции требует больше памяти, чем выделено
Факт переполнения означает, что полученный результат неверен с математической точки зрения

© https://znanio.ru/person/z98576333

Представление целых чисел Беззнаковые числа (n=3) 0002 = 010 0012 = 110 0102 = 210 23 = 8 различных 0112 = 310 значений 1002 =…

Представление целых чисел Беззнаковые числа (n=3) 0002 = 010 0012 = 110 0102 = 210 23 = 8 различных 0112 = 310 значений 1002 =…

3

Представление целых чисел

Беззнаковые числа (n=3)
0002 = 010
0012 = 110
0102 = 210 23 = 8 различных
0112 = 310 значений
1002 = 410
1012 = 510
1102 = 610
1112 = 710
10002 = 010

© https://znanio.ru/person/z98576333

Представление целых чисел Беззнаковые числа (n=3) 111 + 1 = 1 0002 = 010

Представление целых чисел Беззнаковые числа (n=3) 111 + 1 = 1 0002 = 010

4

Представление целых чисел

Беззнаковые числа (n=3)
111 + 1 = 10002 = 010

Признак возникновения переполнения – наличие старшей единицы, которая в дальнейшем отбрасывается

При низкоуровневом программировании (например, на ASM) имеется возможность отследить факт возникновения переполнения

Нет числовой прямой, есть числовое кольцо

© https://znanio.ru/person/z98576333

Представление целых чисел 0 – 1 => max max + 1 => 0 1 0 >0 max © https://znanio

Представление целых чисел 0 – 1 => max max + 1 => 0 1 0 >0 max © https://znanio

5

Представление целых чисел

0 – 1 => max
max + 1 => 0

1

0 >0

max

© https://znanio.ru/person/z98576333

Представление целых чисел Знаковые числа

Представление целых чисел Знаковые числа

6

Представление целых чисел

Знаковые числа
Прямой код (ПК) числа – код, полученный простым переводом числа из 10й в 2ю СС
Обратный код (ОК) числа – код, полученный инвертированием всех разрядов ПК
Дополнительный код (ДК) числа – ОК, к которому выполнили арифметическое +1

© https://znanio.ru/person/z98576333

Представление целых чисел ДК позволяет заменить операцию вычитания операцией сложения (числа

Представление целых чисел ДК позволяет заменить операцию вычитания операцией сложения (числа

7

Представление целых чисел

ДК позволяет заменить операцию вычитания операцией сложения (числа А и B – положительные):
a - b = a + (-b) = a + c
Целое положительное число C ведёт себя так же, как отрицательное число (-b)
Это возможно из-за того, что числовой набор представляет не прямую, а кольцо
ДК унифицирует алгоритмы выполнения операций знаковых и беззнаковых чисел в ЭВМ (упрощение архитектуры)

© https://znanio.ru/person/z98576333

Представление целых чисел Считается, что в

Представление целых чисел Считается, что в

8

Представление целых чисел

Считается, что в ДК переводятся только отрицательные числа
Представления неотрицательных чисел в ПК и ДК совпадают
Алгоритмы перевода ПК->ДК и ДК->ПК совпадают:
Инвертирование
+1

© https://znanio.ru/person/z98576333

Представление целых чисел N=5 (жирным – знаковый разряд)

Представление целых чисел N=5 (жирным – знаковый разряд)

9

Представление целых чисел

N=5 (жирным – знаковый разряд)
ПК->ДК
ПК числа +12: 011002
ОК числа -12: 100112
ДК числа -12: 101002
ДК->ПК
ДК числа -12: 101002
Инверсия ДК: 010112 (это не ОК!)
ПК числа +12: 011002

© https://znanio.ru/person/z98576333

Представление целых чисел Знаковые числа (n=3) 0002 = 010 0012 = 110 0102 = 210 23 = 8 различных 0112 = 310 значений 1002 =…

Представление целых чисел Знаковые числа (n=3) 0002 = 010 0012 = 110 0102 = 210 23 = 8 различных 0112 = 310 значений 1002 =…

10

Представление целых чисел

Знаковые числа (n=3)
0002 = 010
0012 = 110
0102 = 210 23 = 8 различных
0112 = 310 значений
1002 = -410 (переполнение!)
1012 = -310
1102 = -210
1112 = -110
10002 = 010

© https://znanio.ru/person/z98576333

Представление целых чисел min – 1 => max max + 1 => min >0 max 0 min <0 © https://znanio

Представление целых чисел min – 1 => max max + 1 => min >0 max 0 min <0 © https://znanio

11

Представление целых чисел

min – 1 => max
max + 1 => min
>0

max
0
min

<0

© https://znanio.ru/person/z98576333

Представление целых чисел (n=5)

Представление целых чисел (n=5)

12

Представление целых чисел

(n=5) Пример выполнения операции 12-5:
12: ПК = 011002
5:
ПК = 001012 (+5)
ОК = 110102 (-5)
ДК = 110112 (-5)
1210-510 = 011002+110112= (1)01112 = 710
Ноль в знаковом разряде – признак ПК

0

1

0

1

0

1

(1) 0

0

1

© https://znanio.ru/person/z98576333

Представление целых чисел Признак переполнения – наличие нечётного суммарного количества «единиц» в четырёх знаковых разрядах операндов и результата (включая теряющийся разряд – при наличии) -6:

Представление целых чисел Признак переполнения – наличие нечётного суммарного количества «единиц» в четырёх знаковых разрядах операндов и результата (включая теряющийся разряд – при наличии) -6:

13

Представление целых чисел

Признак переполнения – наличие нечётного суммарного количества «единиц» в четырёх знаковых разрядах операндов и результата (включая теряющийся разряд – при наличии)
-6: ПК=001102, ОК=110012, ДК=110102
-11: ПК=010112, ОК=101002, ДК=101012
Переполнение произошло, результат неверен

-6

1

1

0

1

0

-11

0

1

0

1

-17 -> +15

(1) 0

1

© https://znanio.ru/person/z98576333

Представление целых чисел Единица в знаковом разряде – признак

Представление целых чисел Единица в знаковом разряде – признак

14

Представление целых чисел

Единица в знаковом разряде – признак ДК
(n=5) Пример выполнения операции 8+10:
8: ПК=010002
10:ПК=010102
Переполнение произошло, результат неверен
ДК=100102, х=011012, ПК=011102=1410

8

0

1

0

10

1

0

18 -> -14

(0) 1

0

© https://znanio.ru/person/z98576333

Представление целых чисел Допускается запись в память числа без знака, а чтение со знаком (и наоборот), например:

Представление целых чисел Допускается запись в память числа без знака, а чтение со знаком (и наоборот), например:

15

Представление целых чисел

Допускается запись в память числа без знака, а чтение со знаком (и наоборот), например:
BC++ 3.1:
unsigned int k = -200;
short int p = 40000;
cout<MS VS 2008 (C#)
short x = 20000, y = 20000;
short z = (short)(x + y);
MessageBox.Show(z.ToString());

© https://znanio.ru/person/z98576333

Представление целых чисел Диапазоны хранимых значений: беззнаковые – [0; 2n-1]

Представление целых чисел Диапазоны хранимых значений: беззнаковые – [0; 2n-1]

16

Представление целых чисел

Диапазоны хранимых значений:
беззнаковые – [0; 2n-1]
Знаковые – [-2n-1; 2n-1-1]
Стандартные типы в ЭВМ
8 битов (unsigned char, byte / char, shortint) – [0; 255], [-128; 127]
16 битов (unsigned short int, word / short int, integer) – [0; 65535], [-32768; 32767]
32 бита (unsigned long int, cardinal / long int, longint) – [0; 4.2млрд], [-2.1млрд; 2.1млрд]
64 бита (int64) – [0; 264-1], [-263; 263-1]

© https://znanio.ru/person/z98576333

Кодирование символьной информации © https://znanio

Кодирование символьной информации © https://znanio

17

Кодирование символьной информации

© https://znanio.ru/person/z98576333

Кодирование символьной информации

Кодирование символьной информации

18

Кодирование символьной информации

Таблица ASCII – American Standard Code for Information Interchange
1 символ = 8 битов
28=256 символов:
0..127 – базовая часть
128..255 – расширенная часть

© https://znanio.ru/person/z98576333

Кодирование символьной информации

Кодирование символьной информации

19

Кодирование символьной информации

КОИ8-Р

CP-1251

CP866

ISO

Пример: ╧юяЁюёшЄх фтр фюяюыэшЄхы№э√ї срыыр є ыхъЄюЁр ш эшъюьє юс ¤Єюь эх Ёрёёърч√трщЄх

© https://znanio.ru/person/z98576333

Кодирование символьной информации

Кодирование символьной информации

20

Кодирование символьной информации

Unicode – стандарт 1991 года
1 символ = 16 бит
216 = 65536 символов
0..127 совпадает с ASCII (для совместимости)
Кодирует символы почти всех письменных языков
Избавляет от необходимости переключать кодовые страницы
Поддерживает написание LTR и RTL
Поддерживает кодирование little-endian и big-endian – определяется в начале файла после маркера последовательности байтов

© https://znanio.ru/person/z98576333

Кодирование символьной информации

Кодирование символьной информации

21

Кодирование символьной информации

Не поддерживает вертикальное письмо (поддержку должны обеспечивать текстовые редакторы)
Поддерживает формы нормализации (композиции и декомпозиции)



Поддерживает таблицы совместимой декомпозиции

© https://znanio.ru/person/z98576333

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

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

22

Представление чисел с ПЗ в памяти ЭВМ

© https://znanio.ru/person/z98576333

Представление чисел с ПЗ Любое вещественное число представимо в системе счисления

Представление чисел с ПЗ Любое вещественное число представимо в системе счисления

23

Представление чисел с ПЗ

Любое вещественное число представимо в системе счисления N в виде:
K= ±MN ±p
M – мантисса
p – порядок
X – характеристика (смещённый порядок)

© https://znanio.ru/person/z98576333

Представление чисел с ПЗ Нормализация:

Представление чисел с ПЗ Нормализация:

24

Представление чисел с ПЗ

Нормализация:
Справа – после запятой стоит не ноль
372,9510 = 0,37295 · 103
0,0110112 = 0,11011 · 2-1
0,12 = 0,1 · 20

Слева. Согласно стандарту IEEE 754 – мантисса принимает значения 1 ≤ mN
Недостаток: невозможно закодировать «0», поэтому представление предусматривает специальный признак нулевого значения

© https://znanio.ru/person/z98576333

Представление чисел с ПЗ Тип Р-р памяти, бит = b +М

Представление чисел с ПЗ Тип Р-р памяти, бит = b +М

25

Представление чисел с ПЗ

Тип

Р-р памяти, бит = b

Знач. цифр

Диапазон

Real (k = +1)

48=7+40

11–12

Single (k= – 1)

32=8+24

7–8

1.4·10-45..3.4·1038

Double (k= – 1)

64=11+53

15–16

4.9·10-324..1.8·10308

Extended (k= – 1)

80=15+64

19–20

3.1·10-4944..1.2·104932

Х = 2b–1 + k + p (k – поправочный коэффициент IBM)

© https://znanio.ru/person/z98576333

Представление чисел с ПЗ Алгоритм формирования двоичного представления вещественного числа:

Представление чисел с ПЗ Алгоритм формирования двоичного представления вещественного числа:

26

Представление чисел с ПЗ

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

Число представляется в двоичном коде.

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

С учетом типа вещественного числа по таблице определяется характеристика.

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

первый бит мантиссы (для нормализованного числа всегда 1) для чисел типа real, single, double не хранится (является скрытым). В числах типа extended все разряды мантиссы хранятся в памяти ЭВМ.

© https://znanio.ru/person/z98576333

Представление чисел с ПЗ Пример: –15,37510

Представление чисел с ПЗ Пример: –15,37510

27

Представление чисел с ПЗ

Пример: –15,37510
Двоичная СС: 1111,0112
Нормализованное число: 1,1110112 · 23
M = 1,1110112
m = 1110110...02
Порядок р = 3; X = 27 – 1 + 3 = 13010= 100000102
Знак s = 1
Результат: 00 00 76 C1 или 0x76C1 (single)

© https://znanio.ru/person/z98576333

Представление чисел с ПЗ Пример: 0,187510

Представление чисел с ПЗ Пример: 0,187510

28

28

Представление чисел с ПЗ

Пример: 0,187510
Двоичная СС: 0,00112
Нормализованное число: 1,12 · 2–3
M = 1,12
m = 10...02
Порядок р = –3; X = 27 – 1 – 3 = 12410= 011111002
Знак s = 0
Результат: 00 00 40 3E или 0x403E (single)

© https://znanio.ru/person/z98576333

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

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

29

Представление чисел с ПЗ

Пример: 0.110
Двоичная СС:
0,0(0011)2
M=1,10011001100110011001100110
m= 100110011001100110011010
0.10000000149011610
результирующее число чуть больше 0.110
при выводе числа на экран может быть как 0.1, так и не 0.1 (зависит от компилятора среды программирования и точности вывода числа по умолчанию)

© https://znanio.ru/person/z98576333

Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
05.05.2021