Представление чисел в компьютере. Естественная форма числа. Формат с фиксированной точкой.
Все числа в ЭВМ должны быть строго определенной длины. Это регулируется понятием РАЗРЯДНАЯ СЕТКА. Байт 0 Байт 1 Байт 2 Байт 3 Байт 4 Байт 5 Байт 6 Байт 7 Полуслово 16 бит Полуслово 16 бит Полуслово 16 бит Полуслово 16 бит Слово 32 бит Двойное слово 64 бит
От разрядной сетки (длины числа) зависит максимальное значение числа. 1 байт байт – от до => от 0 10 до Полуслово Полуслово – от до => от 0 10 до и т.д.
Представление чисел с фиксированной точкой. Целые + - числа 012…… Для знака отводится разряд: «+» - разряд = 0 «-» - разряд равен 1 Формат H 16 бит Формат F 32 бит 012……
Диапазон представления числа Формат Н Формат Н: 1 знаковый разряд + 15 бит для числа=> – От – до => От до
Примеры: Записать в формате Н числа:
Домашнее задание: Конспект читать, знать понятия: разрядная сетка, сколько бит в H и F сетке. Знать как посчитать максимум и минимум в знаковой сетке любого формата. Записать в Н сетке:
Проверка домашнего задания Х 10 = цифр даты рождения Записать в Н сетке : + Х 10 - Х 10
Машинные коды чисел. Все арифметические операции сведены к сложению и сдвигу. Для выполнения вычитания используется специальное представление чисел – ДОПОЛНИТЕЛЬНЫЙ код, который суммируется с уменьшаемым.
Машинные коды чисел. ПРЯМОМ Целые положительные числа хранятся и обрабатываются в ПРЯМОМ коде. ДОПОЛНИТЕЛЬНОМ Целые отрицательные хранятся и обрабатываются в ДОПОЛНИТЕЛЬНОМ коде.
Получение дополнительного кода числа в сетке Н прямого 1. Получение прямого кода: = Запись в Н 2. Запись в Н сетку: обратного кода 3. Получение обратного кода: кроме знакового, все 1->0; 0->1 Пк Ок дополнительного кода 4. Получение дополнительного кода: прибавление 1 к обратному коду: Ок Дк переполнение сетки 5. Если при сложении после знакового разряда переносится еще 1 единица, то это переполнение сетки, и эта единица стирается.
Получение дополнительного кода числа в сетке Н прямого 1. Получение прямого кода: = Запись в Н 2. Запись в Н сетку: обратного кода 3. Получение обратного кода: Пк Ок дополнительного кода 4. Получение дополнительного кода: Ок Дк
Получение дополнительного кода числа в сетке Н прямого 1. Получение прямого кода: = Запись в Н 2. Запись в Н сетку: обратного кода 3. Получение обратного кода: Пк Ок дополнительного кода 4. Получение дополнительного кода: Ок Дк
Сложение чисел в Пк и Дк. 1. Число складываются в тех кодах, в которых хранятся: + в Пк, - в Дк 2. В суммировании участвуют и знаковые разряды. 3. Если после сложения в знаковом разряде 0, то число +, и результат – его Пк. 4. Если после сложения в знаковом разряде 1, то число -, и результат – его Дк. Пк получается после шагов: Вычесть 1. Результат инвертировать. 5. Бывает переполнение сетки.
Сложение чисел в Пк и Дк. А = В = Получаем коды: Пка = ; Дкв = Складываем: В знаковом разряде 0, сл-но, число положительное, результат – Пк. 4. Проверка: Пк = = = 29-17
Сложение чисел в Пк и Дк. А = В = Получаем коды: Дка = ; Дкв = Складываем: отрицательное 3. В знаковом разряде 1, сл-но, число отрицательное, результат – Дк. 4. Получаем Пк: > инверсия Значащие разряды = 46 10
Домашнее задание А = 25 В = 19 Получить в сетке Н: А – В В – А
152 Переводим 152 в 2СС: = Н формат: 16 бит Число положительное, в знаковый разряд 0 0 Заполняем сетку с конца двоичными числами Оставшиеся разряды заполняем нулями
- 65 Переводим 65 в 2СС: = Н формат: 16 бит Число отрицательное, в знаковый разряд 1 1 Заполняем сетку с конца двоичными числами Оставшиеся разряды заполняем нулями