Арифметические основы работы ЭВМ АВМ, ЦЭВМ. Алфавит ЦЭВМ (ЭВМ, ПК). Позиционные системы счисления (10-я, 2-я) Перевод (10) – (2) Перевод (2) – (10) Перевод дробной части Таблица соответствий Перевод (2) – (8) Перевод (8) – (2) Перевод (2) – (16) Перевод (16) – (2) Арифметические операции (+, *) Представление чисел в памяти ЭВМ
Представление целых чисел в памяти ЭВМ Иначе: представление чисел в формате с фиксированной точкой. Точка располагается справа от младшего разряда
Наиболее часто используется формат Н (2 байта, 16 бит) Знак числа 0 – «+», 1 – «-» Число в двоичном коде ПРЯМОЙ КОД ЧИСЛА
Минимальное число: (2) = FF FF (16) = (10) Максимальное число: (2) = 7F FF (16) = (10) Фиксированная точка позволяет задавать числа в строго определенном диапазоне
Формат F (4 байта, 32 бита) Минимальное число: FF FF FF FF (16) = (10) Максимальное число: 7F FF FF FF (16) = (10)
Представление 0 (нуля) в прямом коде И 0 (ноль) представлен двумя способами. Количество положительных и отрицательных чисел одинаково.
Задача: представить числа 255 и –255 в формате Н (прямой код) (10) = (2) (2) = 00 FF (16) (10) (2) = 80 FF (16)
Задачи: числа представлены в формате Н. Определить знак числа А ABCD E100 0A00 7A0B 8000 Представить числа 67, -67, 108, -108 в прямом коде.
Машинные коды чисел (дополнительный код числа) Для представления отрицательных чисел и замены операции вычитания операцией сложения, используется дополнительный код числа. Правило образования двоичных машинных кодов: положительное число в прямом и дополнительном кодах выглядит одинаково; дополнительный код отрицательного числа может быть получен из прямого кода положительного числа заменой всех 0 (нулей) на 1 (единицы) и всех 1 на 0 (инверсия). Затем к младшему разряду прибавляется 1.
Например, 31 и -31 в дополнительном коде (пр) = 31(доп) -> 00 1F 31 (10) = (2) -31(доп) +31(пр) = Инверсия: Прибавляем 1: (доп): (FF E1)
Например, 30 и -30 в дополнительном коде (пр) = 30(доп) - > 00 1E 30 (10) = (2) -30(доп) +30(пр) = Инверсия: Прибавляем 1: 1 -30(доп): (FF Е2)
Задачи: числа представлены в формате Н. Определить знак числа А ABCD E100 0A00 7A0B 8000 Представить числа 67, -67, 108, -108 в прямом и дополнительном кодах.
Задачи: представить числа в прямом и дополнительном кодах: 17, -17, 38, -38, 169, -169
Преимущества дополнительного кода операция вычитания заменяется операцией сложения чисел в дополнительном коде. один Диапазон чисел: – … Таким образом, все арифметические операции ( +, -, *, / ) в ЭВМ сведены к одной – операции сложения.
Арифметические действия над машинными кодами Необходимо учитывать: числа в памяти компьютера хранятся в дополнительном коде; числа складываются вместе со знаками, при этом формируется знак результата. Единица переноса из знакового разряда стирается.
Задача. Дано: x = 126, y = 267. Найти: x + y; x – y; –x + y; –x – y X = 126 =7E (16) = (2) Y = 267 = 10B (16) = (2) X(пр) = Х(доп) = Х(доп) = Y(пр) = Y(доп) = Y(доп) =
x + y; Проверка: = = = = 393
x - y; Проверка: = = Инвертируем: = = = 141 Результат: -141
- x + y; Проверка: = = = = 141 Результат: 141
- x - y; Проверка: = = Инвертируем: = = = 393 Результат: -393
Получить X + Y - X - Y Даны X = ; Y = Х(пр) = Х(доп) = X(доп) = Y(пр) = Y(доп) = Y(доп) =
Проверка: = Результат: В знаковом разряде – 1. Число отрицательное. Причина: > Получить X + Y Даны X = ; Y = Х(доп) = Y(доп) =
Проверка: = Результат: В знаковом разряде – 0. Число положительное. Причина: < Даны X = ; Y = X(доп) = Y(доп) = Получить - X - Y