Арифметические основы компьютера
Системы счисления Системой счисления называется совокупность приемов наименования и записи чисел Система счисления – это способ представления чисел и соответствующие ему правила действия над числами
Определения Знаки, используемые для записи чисел, называются цифрами Любая система счисления – это система кодирования числовых величин (количеств), позволяющая выполнять операции кодирования и декодирования, то есть по любой количественной величине однозначно находить его кодовое представление и по любой кодовой записи – восстанавливать соответствующую ей числовую величину.
Определения СИСТЕМЫ СЧИСЛЕНИЯ НепозиционныеПозиционные Величина, которую обозначает цифра в записи числа не зависит от ее позиции в числе Величина, которую обозначает цифра в записи числа зависит от ее позиции
Непозиционные системы счисления Римская система счисления Представлена латинскими буквами : I V X L C D M Правила образования остальных чисел Если цифра справа меньше или равна цифре слева, то эти цифры складываются Если цифра слева меньше цифры справа, то левая вычитается из правой CXLVI = ?
Позиционные системы счисления Знаки, используемые для записи чисел называются алфавитом системы Количество знаков, используемых для записи чисел, называется основанием системы счисления
Позиционные системы счисления (основание Р) Все системы счисления строятся по общему принципу: определяется величина р – основание системы, а любое число х записывается в виде комбинации степеней веса р от 0-й до n-й степени Представление чисел: Х= a n a n-1 …a 1 a 0,a -1 a -2 …a -m основано на представлении этого числа в виде полинома : X=a n *P n +a n-1 *P n-1 +…+a 1 *P 1 +a 0 * P 0 +a -1 * P -1 +a -2 *P -2 +…+a -m * P -m …
Двоичная система счисления Алфавит: 0 1 Таблица сложения: 0+0=0 0+1=1 1+0=1 1+1=10
Шестнадцатеричная система счисления Основание системы – 16 Алфавит системы ABCDEF Правила сложения: 9+1=A А+1=В …….. F+1=10
Соответствие чисел двоичной и шестнадцатеричной систем счисления A B C D E F15
Перевод чисел из одной системы счисления в другую Перевод чисел (P_-> K): Пусть задано число в системе с основанием P: X=a n *P n +a n-1 *P n-1 +…+a 1 *P 1 +a 0 * P 0 +a -1 * P -1 +a -2 *P -2 +…+a -m * P -m … Правило: Для получения числа в системе с основанием K необходимо заменить все цифры и число Р их K-ичным изображением и выполнить арифметические операции в системе с основанием K Замечание: перевод осуществляется средствами К-ичной арифметики
Примеры: =3*8 2 +7*8+1= AF,4 16 =10* * *16 -1 = ,25=175,25 10
Перевод целых чисел Основание выразить в десятеричной системе Последовательно выполнять деление данного числа и получаемых неполных частных на основание новой системы, пока не получим неполное частное, меньшее делителя Полученные остатки привести в соответствие с алфавитом новой системы Составить число в новой системе, записывая его, начиная с последнего
Перевод дробных чисел Основание выразить в десятеричной системе Последовательно выполнять умножение данного числа и получаемые дробные части произведений на основание новой системы, пока дробная часть не станет равной нулю или не будет достигнута требуемая точность Полученные целые части произведений привести в соответствие с алфавитом новой системы Составить дробную часть числа в новой системе, записывая его, начиная с целой части первого произведения
Формы представления информации Вся информация в памяти ЭВМ представляется в форме цифрового двоичного кода Количество информации, которое помещается в один элемент памяти (0 или 1) называется битом 8 бит составляет 1 байт Последовательность бит, рассматриваемых аппаратной частью ЭВМ как единое целое называется машинным словом
Числовая система ЭВМ Будем рассматривать все понятия на примере 4- битовых машинных слов Введем операции: Увеличения (прибавления 1) =1101 Дополнения (Инвертирования) > 0011 Рассмотрим пример: =0000 (т.к. слово состоит только из 4-х символов) ВЫВОД – ЧСЭВМ – конечная и цикличная
Числовая система ЭВМ Будем считать, что число 1111 является кодом –1 Тогда = 1110 – соответствует – = 1101 – соответствует –3 и т.д – соответствует -8 Все числа, начинающиеся с 0 – это положительные числа Все числа, начинающиеся с 1 – это отрицательные числа Старший бит числа называется знаковым
Числовая система ЭВМ Инвертирование битов в слове называется дополнением до единицы Для определения отрицательного значения числа k необходимо к его дополнению до единицы прибавить 1: Пусть дано число k в системе со знаком, тогда -k=(-1-k)+1=(1111-k)+1
Числовая система ЭВМ Пример: Найти число, которое закодировано в слове 1011 Решение: Инвертируем число: 1011->0100 Прибавляем 1: =0101 Результат: 0101 = 5 10 Ответ: -5
Числовая система ЭВМ Пример: Найти двоичное представление числа –7 Решение: Получаем двоичное представление числа 7: 111 Вычитаем 1: =0110 Инвертируем число: 0110->1001 Ответ: 1001
Числовая система ЭВМ Для того, чтобы получить внутреннее представление целого положительного числа N, хранящегося в k-разрядном машинном слове необходимо: Перевести число в двоичную систему счисления Полученный результат дополнить слева незначащими нулями до k разрядов Пусть задано число 1607 Его представление в 16-ти разрядной ячейке: = : –>
Числовая система ЭВМ Для того, чтобы получить внутреннее представление целого отрицательного числа N, хранящегося в k-разрядном машинном слове необходимо: Получить внутреннее представление целого положительного числа Получить обратный код этого числа Прибавить 1 Пусть задано число –1607 Внутреннее представление положительного числа: Дополнительный код: = Результат:
Индикаторы переноса и переполнения Ошибки возникают в том случае, когда происходит перенос из знакового бита для числовой системы без знака =0000 (15+1=0) При переносе в знаковый бит для числовой системы со знаком =1000 (7+1=-8)
Индикаторы переноса и переполнения Индикатор переноса Индикатор переполнения Указывает на перенос из знакового бита Указывает на перенос в знаковый бит Каждый индикатор содержит 1 бит информации (равен 0 или 1)
Правильность операции сложения Если используется система без знака, то результат сложения двух слов будет арифметически верным, тогда и только тогда, когда не будет переноса из знакового бита
Правильность операции сложения Если используется система со знаком, то результат сложения двух положительных чисел будет арифметически верным, тогда и только тогда, когда не будет переноса в знаковый бит; двух отрицательных чисел будет арифметически верным, тогда и только тогда, когда будет происходить перенос в знаковый бит, причем перенос из знакового бита будет происходить всегда; Положительного и отрицательного чисел будет всегда арифметически верным, а перенос в знаковый бит будет происходить тогда и только тогда, когда будет также происходить перенос из знакового бита.
Правильность операции сложения Примеры: = = =0101