Лекция 2 2020

Содержание

Слайд 2

Учебные вопросы:

Представление целых беззнаковых чисел
Представление чисел с фиксированной точкой
Операции над числами с

Учебные вопросы: Представление целых беззнаковых чисел Представление чисел с фиксированной точкой Операции
фиксированной точкой
Представление чисел с плавающей точкой
Арифметические операции над числами с плавающей точкой

Слайд 3

Память состоит из нумерованных ячеек.
Линейная структура (адрес ячейки – одно число).
Байт –

Память состоит из нумерованных ячеек. Линейная структура (адрес ячейки – одно число).
это наименьшая ячейка памяти, имеющая собственный адрес.
На современных компьютерах 1 байт = 8 бит.

Слово = 2 байта

Двойное слово = 4 байта

Структура памяти

1. Представление целых беззнаковых чисел

Слайд 4

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

Беззнаковые данные – не могут быть отрицательными.
Для представления беззнаковых чисел

Целые беззнаковые числа Беззнаковые данные – не могут быть отрицательными. Для представления
может использоваться 1 или несколько байт.
Для беззнаковых в 1 байт (8 бит) диапазон значений
0…255, 0…FF16 = 28 – 1.
Си: unsigned char Паскаль: byte

10011102 = 4E16 = ‘N’

416

E16

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

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

Старший
байт

Младший
байт

Слайд 5

Примеры

78 =

115 =

221 =

255 =

Примеры 78 = 115 = 221 = 255 =

Слайд 6

Целое без знака размером 2 байта (16 бит) диапазон значений 0…65535, 0…FFFF16

Целое без знака размером 2 байта (16 бит) диапазон значений 0…65535, 0…FFFF16
= 216-1
Си: unsigned int Паскаль: word

биты

старший байт

младший байт

4D16

7A16

1001101011110102 = 4D7A16

Длинное целое без знака рамером 4 байта диапазон значений 0…FFFFFFFF16 = 232-1
Си: unsigned long int Паскаль: dword

Слайд 7

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

Числа с фиксированной точкой — форма

2. Представление чисел с фиксированной точкой Числа с фиксированной точкой — форма
представления вещественных чисел, когда точкой отделяется целая часть от дробной. Например, 12.54
С фиксированной точкой все числа изображаются в виде последовательности цифр с постоянным для всех чисел положением точки, отделяющей целую часть числа от дробной.
Число в компьютере занимает определенное количество разрядов (бит), кратное 8:
8, 16, 32, 64.

Слайд 8

Пример 1.
Пусть даны числа 123.6, 0.01 и 1.5143.
Записать их в виде числа

Пример 1. Пусть даны числа 123.6, 0.01 и 1.5143. Записать их в
с фиксированной точкой при условии, что под каждое число выделяется 8 разрядов – 4 под целую часть и 4 под дробную.
Ответ:

Слайд 9

Такая форма представления наиболее проста для восприятия, но имеет существенный недостаток:

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

Слайд 10

В восьми разрядной сетке числа с фиксированной точкой (байтовые числа) могут быть

В восьми разрядной сетке числа с фиксированной точкой (байтовые числа) могут быть
представлены в диапазоне значений:
max
min

можно работать с отрицательными числами

уменьшился диапазон положительных чисел

127

– 128

Числа с фиксированной точкой в ЭВМ

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

-2n-1 … 2n-1-1
– 128 = – 27 … 127 = 27 – 1

Слайд 11

Слово со знаком занимает 2 байта (16 бит) и может быть представлено

Слово со знаком занимает 2 байта (16 бит) и может быть представлено
в диапазоне значений
-215 … 215-1
- 32768 … 32767
Си: int Паскаль: integer
Двойное слово со знаком занимает 4 байта
и диапазон значений
-231 … 231-1
Си: long int Паскаль: longint

Слайд 12

3. Коды чисел и операции над ними

3. Коды чисел и операции над ними

Слайд 13

Такой способ представления числа является наиболее естественным, так как обеспечивает простой переход

Такой способ представления числа является наиболее естественным, так как обеспечивает простой переход
от двоичной записи числа к записи его двоичного (прямого) кода:

Прямой код имеет существенные недостатки:
- использовании прямого кода имеется целых два кода для представления 0
+0 представляется как 0000 0000
-0 представляется как 1000 0000;
- сложно реализовать операцию вычитания, умножения и деления чисел.

3. Коды чисел и операции над ними
3.1 Прямой код

Слайд 14

3.2 Обратный код
Обратный код для положительных чисел совпадает с прямым кодом,
Обратный

3.2 Обратный код Обратный код для положительных чисел совпадает с прямым кодом,
код для отрицательных чисел получается инвертированием всех цифр двоичного кода абсолютной величины числа.

где - операция инвертирования двоичного кода абсолютной величины числа.

Слайд 15

Пример представления числа -12310 в обратном коде:
1. Перевод числа -12310 в

Пример представления числа -12310 в обратном коде: 1. Перевод числа -12310 в
двоичное число:
2. Запись двоичного числа в прямом коде:
3.Перевод прямого кода двоичного числа в обратный:

Слайд 16

Для обратного кода справедливо следующее соотношение:

где
xsign – значение знакового разряда,

Для обратного кода справедливо следующее соотношение: где xsign – значение знакового разряда,
xi – значение i-го разряда,
n – разрядность числа.

Например:
1010 = 1*(-23+1)+0*20+1*21+0*22 = -7+2 = -5

Слайд 17

При использовании обратного кода арифметические операции для отрицательных чисел выполняются проще.
Само

При использовании обратного кода арифметические операции для отрицательных чисел выполняются проще. Само
получение обратных кодов не требует значительных усилий.
Но, как и в случае прямого кода, 0 представляется 2 кодами:
+0 представляется как 0000 0000
-0 представляется как 1111 1111

Слайд 18

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

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

Слайд 19

Пример представления числа -11510 в дополнительном коде:
1. Перевод числа -11510 в

Пример представления числа -11510 в дополнительном коде: 1. Перевод числа -11510 в
двоичное число:
2. Запись двоичного числа в прямом коде:
3.Перевод прямого кода двоичного числа в обратный:
4.Перевод обратного кода двоичного числа в дополнительный:

Слайд 20

Для дополнительного кода справедливо следующее соотношение:

где
xsign – значение знакового разряда,

Для дополнительного кода справедливо следующее соотношение: где xsign – значение знакового разряда,
xi – значение i-го разряда,
n – разрядность числа.

Например:
1011 = 1*(-23)+1*20+1*21+0*22 = -8+3 = -5

Слайд 21

Анализ дополнительного кода.
- Получение дополнительного кода происходит несколько сложнее, чем

Анализ дополнительного кода. - Получение дополнительного кода происходит несколько сложнее, чем обратного.
обратного.
- Использование дополнительного кода упрощает арифметические операции, что будет показано позже.
- В дополнительном коде 0 имеет единственное представление :
+0=0000 0000ДК
-0=1111 1111ОК+1=0000 0000ДК
- Использование дополнительного кода дает возможность расширить диапазон представления чисел (закодировать 256 чисел) по сравнению с прямым и обратным кодами (255 чисел).
Последнее утверждение доказать самостоятельно!

Слайд 22

3.4 Ошибки выполнения операций над кодами

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

3.4 Ошибки выполнения операций над кодами Переполнение разрядной сетки: в результате сложения
положительных чисел получается отрицательное (перенос в знаковый бит).

+

64

64

– 0

Слайд 23

Перенос: при сложении больших (по модулю) отрицательных чисел получается положительное (перенос за

Перенос: при сложении больших (по модулю) отрицательных чисел получается положительное (перенос за
границы разрядной сетки).

ДК

ДК

ПК

Слайд 24

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

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

Слайд 25

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

X = s ⋅ M ⋅ 2e

s

4. Представление чисел с плавающей точкой X = s ⋅ M ⋅
– знак (1 или -1)
M – мантисса,
e – порядок

M = 0 или 1 ≤ M < 2

15,625 =

1111,1012 =

1⋅1,1111012 ⋅23

знак

порядок

мантисса

3,375 =

Пример:

Слайд 26

Нормализованные числа в памяти

IEEE Standard for Binary Floating-Point Arithmetic (IEEE 754)

15,625

Нормализованные числа в памяти IEEE Standard for Binary Floating-Point Arithmetic (IEEE 754)
= 1⋅1,1111012 ⋅23

s = 1 e = 3 M = 1,1111012

Знаковый бит:
0, если s = 1
1, если s = – 1

Порядок со сдвигом:
p = e + E (сдвиг)

Дробная часть мантиссы:
m = M – 1

Слайд 27

Нормализованные числа в памяти

Типы данных для языков: Си
Паскаль

Нормализованные числа в памяти Типы данных для языков: Си Паскаль

Слайд 28

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

15,625 = 1,1111012 ⋅23
4 байта = 32 бита

p =

Вещественные числа в памяти 15,625 = 1,1111012 ⋅23 4 байта = 32
e+127 = 130
=100000102

m = M – 1 = 0,1111012

3,375 =

Слайд 29

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

сложение

Порядок выравнивается до большего
5,5 =

5. Арифметические операции над числами с плавающей точкой сложение Порядок выравнивается до
1,0112⋅22
3 = 1,12 ⋅21 = 0,112 ⋅22
Мантиссы складываются
1,0112 + 0,1102
10,0012
Результат нормализуется (с учетом порядка)
10,0012 ⋅22 = 1,00012 ⋅23 = 1000,12 = 8,5

5,5 + 3 = 101,12 + 112 = 8,5 = 1000,12

Слайд 30

вычитание

Порядок выравнивается до большего
10,75 = 1,010112⋅23
5,25 = 1,01012 ⋅22 = 0,101012

вычитание Порядок выравнивается до большего 10,75 = 1,010112⋅23 5,25 = 1,01012 ⋅22
⋅23
Мантиссы вычитаются
1,010112
– 0,101012
0,101102
Результат нормализуется (с учетом порядка)
0,10112 ⋅23 = 1,0112 ⋅22 = 101,12 = 5,5

10,75 – 5,25 = 1010,112 – 101,012 = 101,12 = 5,5

Слайд 31

умножение

Мантиссы умножаются
7 = 1,112 ⋅ 22 1,1 12
3 = 1,12

умножение Мантиссы умножаются 7 = 1,112 ⋅ 22 1,1 12 3 =
⋅ 21 × 1,12
1 1 12
1 1 12
1 0 ,1 0 12
Порядки складываются: 2 + 1 = 3
Результат нормализуется (с учетом порядка)
10,1012 ⋅23 = 1,01012 ⋅24 = 101012 = 21

7 ⋅ 3 = 1112 ⋅ 112 = 101012 = 21

Слайд 32

деление

Мантиссы делятся
17,25 = 1,0001012 ⋅ 24
3 = 1,12 ⋅

деление Мантиссы делятся 17,25 = 1,0001012 ⋅ 24 3 = 1,12 ⋅
21
1,0001012 : 1,12 = 0,101112
Порядки вычитаются: 4 – 1 = 3
Результат нормализуется (с учетом порядка)
0,101112 ⋅23 = 1,01112 ⋅22 = 101,112 = 5,75

17,25 : 3 = 10001,012 : 112 = 101,112 = 5,75

Имя файла: Лекция-2-2020.pptx
Количество просмотров: 20
Количество скачиваний: 0