Система счисления это способ записи чисел с помощью заданного набора специальных знаков (цифр)
Главная > Документ
Информация о документе | |
Дата добавления: | |
Размер: | |
Доступные форматы для скачивания: |
Арифметические основы ПК
Система счисления — это способ записи чисел с помощью заданного набора специальных знаков (цифр).
Существуют позиционные и непозиционные системы счисления.
двоичная (используются цифры 0, 1);
восьмеричная (используются цифры 0, 1, . 7);
шестнадцатеричная (для первых целых чисел от нуля до девяти используются цифры 0, 1, . 9, а для следующих чисел — от десяти до пятнадцати – в качестве цифр используются символы A, B, C, D, E, F).
Компьютеры используют двоичную систему потому, что она имеет ряд преимуществ перед другими системами:
для ее реализации нужны технические устройства с двумя устойчивыми состояниями (есть ток — нет тока, намагничен — не намагничен и т.п.), а не, например, с десятью, — как в десятичной;
представление информации посредством только двух состояний надежно и помехоустойчиво;
возможно применение аппарата булевой алгебры для выполнения логических преобразований информации;
двоичная арифметика намного проще десятичной.
Недостаток двоичной системы — быстрый рост числа разрядов, необходимых для записи чисел.
Перевод чисел из одной системы счисления в другую.
При переводе целого десятичного числа в систему с основанием q его необходимо последовательно делить на q до тех пор, пока не останется остаток, меньший или равный
q –1 . Число в системе с основанием q записывается как последовательность остатков от деления, записанных в обратном порядке, начиная с последнего.
При переводе числа из двоичной (восьмеричной, шестнадцатеричной) системы в десятичную надо это число представить в виде суммы степеней основания его системы счисления.
Перевод чисел из восьмеричной и шестнадцатеричной систем счисления в двоичную и обратно.
Перевод восьмеричных и шестнадцатеричных чисел в двоичную систему очень прост: достаточно каждую цифру заменить эквивалентной ей двоичной триадой (тройкой цифр) или тетрадой (четверкой цифр).
Чтобы перевести число из двоичной системы в восьмеричную или шестнадцатеричную, его нужно разбить влево и вправо от запятой на триады (для восьмеричной) или тетрады (для шестнадцатеричной) и каждую такую группу заменить соответствующей восьмеричной (шестнадцатеричной) цифрой.
Перевод правильной десятичной дроби в любую другую позиционную систему.
При переводе правильной десятичной дроби в систему счисления с основанием q необходимо сначала саму дробь, а затем дробные части всех последующих произведений последовательно умножать на q, отделяя после каждого умножения целую часть произведения. Число в новой системе счисления записывается как последовательность полученных целых частей произведения.
Умножение производится до тех поp, пока дробная часть произведения не станет равной нулю. Это значит, что сделан точный перевод. В противном случае перевод осуществляется до заданной точности. Достаточно того количества цифр в результате, которое поместится в ячейку.
Арифметические операции в позиционных системах счисления.
Основные арифметические операции: сложение, вычитание, умножение и деление. Правила выполнения этих операций в десятичной системе хорошо известны — это сложение, вычитание, умножение столбиком и деление углом. Эти правила применимы и ко всем другим позиционным системам счисления.
При сложении цифры суммируются по разрядам, и если при этом возникает избыток, то он переносится влево.
При вычитании цифры вычитаются по разрядам, и если при этом возникает недостаток, то происходит заем в старших разрядах.
Выполняя умножение многозначных чисел в различных позиционных системах счисления, можно использовать обычный алгоритм перемножения чисел в столбик, но при этом результаты перемножения и сложения однозначных чисел необходимо заимствовать из соответствующих рассматриваемой системе таблиц умножения и сложения.
Ввиду чрезвычайной простоты таблицы умножения в двоичной системе, умножение сводится лишь к сдвигам множимого и сложениям.
Деление в любой позиционной системе счисления производится по тем же правилам, как и деление углом в десятичной системе. В двоичной системе деление выполняется особенно просто, ведь очередная цифра частного может быть только нулем или единицей.
Представление чисел в ПК.
Целые числа без знака обычно занимают в памяти один или два байта.
Целые числа со знаком обычно занимают в памяти один, два или четыре байта, при этом самый левый (старший) разряд содержит информацию о знаке числа. Знак “плюс” кодируется нулем, а “минус” — единицей.
В компьютерной технике применяются три формы записи (кодирования) целых чисел со знаком: прямой код, обратный код, дополнительный код.
Положительные числа в прямом, обратном и дополнительном кодах изображаются одинаково — двоичными кодами с цифрой 0 в знаковом разряде.
Обычно отрицательные десятичные числа при вводе в машину автоматически преобразуются в обратный или дополнительный двоичный код.
В большинстве компьютеров операция вычитания не используется. Вместо нее производится сложение уменьшаемого с обратным или дополнительным кодом вычитаемого.
Во многих компьютерах умножение производится как последовательность сложений и сдвигов. Для этого в АЛУ имеется регистр, называемый накапливающим сумматором, который до начала выполнения операции содержит число ноль. В процессе выполнения операции в нем поочередно размещаются множимое и результаты промежуточных сложений, а по завершении операции — окончательный результат.
Другой регистр АЛУ, участвующий в выполнении этой операции, вначале содержит множитель. Затем по мере выполнения сложений содержащееся в нем число уменьшается, пока не достигнет нулевого значения.
Деление для компьютера является трудной операцией. Обычно оно реализуется путем многократного прибавления к делимому дополнительного кода делителя.
Представление текстовой информации в ПК.
Для кодирования одного символа используется количество информации, равное одному байту, т.е. I = 1 байт = 8 бит.
256 символов достаточно для представления текстовой информации, включая прописные и заглавные буквы русского и латинского алфавита, цифры, знаки, графические символы и т.д.
Кодирование заключается в том, что каждому символу ставится в соответствие уникальный десятичный код от 0 до 255 или соответствующий ему двоичный код 00000000 до 11111111.
При вводе в компьютер текстовой информации изображение символа преобразуется в его двоичный код. Код символа хранится в оперативной памяти компьютера, где занимает одну ячейку.
В процессе вывода символа на экран происходит обратный процесс – преобразование кода символа в его изображение.
Существует соглашение которое фиксируется в кодовой таблице (ASCII). Первые 33 кода (0..32) обозначают операции перевод строки, ввод пробела и т.д.
Коды 33..127 – интернациональные и соответствуют символам латинского алфавита, цифрам, знакам арифметических операций и знакам препинания.
Коды 128..255 являются национальными, предназначена для кодировки национальных алфавитов, символов псевдографики и т.д.
Источник
Способ представления чисел с помощью заданного набора специальных знаков
Понятие числа является фундаментальным как для математики, так и для информатики Можно считать, что любое число имеет значение (содержание) и форму представления. Значение числа задает его отношение к значениям других чисел («больше», «меньше», «равно») и, следовательно, порядок расположения чисел на числовой оси. Форма представления, как следует из названия, определяет порядок записи числа с помощью предназначенных для этого знаков. При этом значение числа является инвариантом, т.е. не зависит от способа его представления. Это означает также, что число с одним и тем же значением может быть записано по-разному, т.е. отсутствует взаимно однозначное соответствие между представлением числа и его значением. В связи с этим возникают вопросы, во-первых, о формах представления чисел, и, во-вторых, о возможности и способах перехода от одной формы к другой.
Способ представления числа определяется системой счисления.
Система счисления – это правило записи чисел с помощью заданного набора специальных знаков – цифр.
Система счисления — это способ изображения чисел и соответствующие ему правила действия над числами.
Людьми использовались различные способы записи чисел, которые можно объединить в несколько групп: унарная, непозиционные и позиционные.
В древние времена, когда люди начали считать, появилась потребность в записи чисел. Первоначально количество предметов отображали равным количеством каких-нибудь значков: насечек, черточек, точек. Так появилась унарная система счисления.
Унарная – это система счисления, в которой для записи чисел используется только один знак – I («палочка»). Следующее число получается из предыдущего добавлением новой I; их количество (сумма) равно самому числу.
Изучение археологами таких «записок» (насечек, черточек, точек на кости, камне, дереве) времен палеолита показало, что люди стремились группировать отметки по 3,5,7,10 штук. Это облегчало счет. Естественно, что первым вычислительным инструментом у древнего человека были пальцы, поэтому и счет чаще всего вели группами по 5 или 10 предметов.
В дальнейшем свое название получили десяток десятков(сотня), десяток сотен(тысяча) и т.д. Такие узловые числа для удобства записи стали обозначать особыми значками – цифрами. Если при подсчете предметов их оказалось 2 сотни, 5 десятков и еще 4 предмета, то при записи этой величины дважды повторяли знак сотни, 5 раз – знак десятков и 4 раза знак единицы. В таких системах счисления от положения знака в записи числа не зависит величина, которую он обозначает; поэтому они называются непозиционными системами счисления.
Система счисления, в которой от положения знака в записи числа не зависит величина, которую он обозначает, называется непозиционной.
В непозиционных системах счисления вес цифры (т.е. вклад, который она вносит в значение числа) не зависит от положения цифры в записи числа. Общеизвестным примером такой системы является римская система (римские цифры). Например, римская система.
Исторически существовало ещё много своеобразных непозиционных систем счисления: древнеегипетская, древнегреческая, вавилонская, индейская, старокитайская, славянская кириллическая, славянская глаголическая и др. Некоторые из этих систем являются аддитивными, т.е. каждое число получается сложением существующих в этой системе счисления цифр, другие – мультипликативные, где кроме сложения, используется еще и умножение.
Непозиционные системы счисления были более или менее пригодны для выполнения сложения и вычитания, но совсем не удобны при умножении и делении, поэтому в математической практике непозиционные системы счисления не применяются. Позиционные системы удобны тем, что позволяют записывать большие числа с помощью сравнительно небольшого количества знаков. Еще более важное преимущество позиционных систем – это простота и легкость выполнения арифметических операций над числами. Попробуйте для сравнения перемножить два трехзначных числа, записав их римскими цифрами.
В настоящее время для представления чисел применяют, в основном, позиционные системы счисления.
Позиционными называются системы счисления, в которых значение каждой цифры в изображении числа определяется ее положением (позицией) в ряду других цифр.
Основание позиционной системы счисления — это количество различных знаков или символов, используемых для изображения цифр в данной системе.
Позиция цифры в записи числа называется разрядом числа
Наиболее распространенной и привычной является система счисления, в которой для записи чисел используется 10 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9. Число представляет собой краткую запись многочлена, в который входят степени некоторого другого числа – основания системы счисления. Например,
272,12 = 2·10 2 +7·10 1 +2·10 0 + 1·10 -1 +2·10 -2
Пусть p – основание системы счисления. Тогда любое число Z (пока ограничимся только целыми числами), удовлетворяющее условию Z k (k 0, целое), может быть представлено в виде многочлена со степенями p (при этом, очевидно, максимальный показатель степени будет равен k – 1):
Из коэффициентов aj при степенях основания строится сокращенная запись числа:
Развернутая форма записи числа – это запись в виде разрядных слагаемых, записанных с помощью степени соответствующего разряда и основания степени.
Поскольку одно и то же число может быть записано в различных системах счисления, встает вопрос о переводе представления числа из одной системы (с основанием p) в другую (с основанием q) – будем обозначать такое преобразование Zp Zq. Теоретически возможно произвести его при любых q и p. Однако подобный прямой перевод будет затруднен тем, что придется выполнять операции по правилам арифметики недесятичных систем счисления. По этой причине более удобными с практической точки зрения оказываются варианты преобразования с промежуточным переводом Zp
Zr
Zq с основанием r, для которого арифметические операции выполнить легко. Такими удобными основаниями являются r = 1 и r = 10, т.е. перевод осуществляется через унарную или десятичную систему счисления.
Идея алгоритма перевода предельно проста: положим начальное значение Zq := 0; из числа Zp вычтем 1 по правилам вычитания системы p, т.е. Zp := Zp–1 и добавим ее к Zq по правилам сложения системы q, т.е. Zq := Zq+ 1; будем повторять эту последовательность действий, пока не достигнем Zp = 0.
Правила сложения с 1 и вычитания 1 могут быть записаны следующим образом:
Преобразование Zp Z10
Zq
Очевидно, первая и вторая часть преобразования не связаны друг с другом, что дает основание рассматривать их по отдельности.
Алгоритмы перевода Z10 Zq
1. целочисленно разделить исходное число (Z10) на основание новой системы счисления (q) и найти остаток от деления – это будет цифра 0-го разряда числа Zq;
2. частное от деления снова целочисленно разделить на q с выделением остатка; процедуру продолжать до тех пор, пока частное от деления не окажется меньше q;
3. образовавшиеся остатки от деления, поставленные в порядке, обратном порядку их получения, и представляют Zq.
Способ 2 вытекает из соотношения; действия производятся в соответствии со следующим алгоритмом:
1. определить m–1 – максимальный показатель степени в представления числа для основания q;
2. целочисленно разделить исходное число (Z10) на основание новой системы счисления в степени m – 1 (т.е. q m-1 ) и найти остаток от деления; результат деления определит первую цифру числа Zq;
3. остаток от деления целочисленно разделить на q m-2 , результат деления принять за вторую цифру нового числа; найти остаток; продолжать эту последовательность действий, пока показатель степени q не достигнет значения 0.
Алгоритмы перевода Zp Z10 : необходимо Zp представить в форме многочлена и выполнить все операции по правилам десятичной арифметики.
Выполнить преобразование 4435 Z10
4435 = 4·5 2 +4·5 1 +3·5 0 = 4·25+4·5+3·1 = 12310
Переход, например, Z3 Z8 проще осуществить через промежуточное преобразование к 10-ной системе Z3
Z10
Z8. Ситуация, однако, значительно упрощается, если основания исходной и конечной систем счисления оказываются связанными соотношением p = q r , где r – целое число (естественно, большее 1) или r = 1/n ( n>1, целое)– эти случаи будут рассмотрены ниже.
Вещественное число, в общем случае содержащее целую и дробную часть, всегда можно представить в виде суммы целого числа и правильной дроби. Поскольку в предыдущем параграфе проблема записи натуральных чисел в различных системах счисления уже была решена, можно ограничить рассмотрение только алгоритмами перевода правильных дробей.
Алгоритмы перевода 0,Y10 0,Yq
1. умножить исходную дробь в 10-ной системе счисления на q, выделить целую часть – она будет первой цифрой новой дроби; отбросить целую часть;
2. для оставшейся дробной части операцию умножения с выделением целой и дробных частей повторять, пока в дробной части не окажется 0 или не будет достигнута желаемая точность конечного числа (exact); появляющиеся при этом целые будут цифрами новой дроби;
3. записать дробь в виде последовательности цифр после ноля с разделителем в порядке их появления в п. (1) и (2).
Выполнить преобразование 0,37510 0,Y2
Таким образом, 0,37510 = 0,0112
Перевод 0,Yp 0,Y10, сводится к вычислению значения в десятичной системе счисления. Например,
0,0112 = 0·2 -1 + 1·2 -2 + 1·2 -3 = 0,25 + 0,125 = 0,37510
Следует сознавать, что после перевода дроби, которая была конечной в исходной системе счисления, она может оказаться бесконечной в новой системе. Соответственно, рациональное число в исходной системе может после перехода превратиться в иррациональное. Справедливо и обратное утверждение: число иррациональное в исходной системе счисления в иной системе может оказаться рациональным.
Выполнить преобразование 5,3(3)10 X3
Перевод целой части, очевидно, дает: 510 = 123. Перевод дробной части: 0,3(3)10 = 0,13. Окончательно: 5,3(3)10 = 12,13.
Интерес к двоичной системе счисления вызван тем, что именно эта система используется для представления чисел в компьютере. Однако двоичная запись оказывается громоздкой, поскольку содержит много цифр, и, кроме того, она плохо воспринимается и запоминается человеком из-за зрительной однородности (все число состоит из нулей и единиц). Поэтому в нумерации ячеек памяти компьютера, записи кодов команд, нумерации регистров и устройств и пр. используются системы счисления с основаниями 8 и 16; выбор именно этих систем счисления обусловлен тем, что переход от них к двоичной системе и обратно осуществляется, как будет показано ниже, весьма простым образом.
Теорема 1. Для преобразования целого числа Zp Zq в том случае, если системы счисления связаны соотношением q = p r , где r — целое число большее 1, достаточно Zp разбить справа налево на группы по r цифр и каждую из них независимо перевести в систему q.
Выполнить преобразование Z2 = 1100012 Z8. Исходное число разбивается на группы по три разряда справа налево (8 = 2 3 , следовательно, r = 3) и каждая тройка в соответствии с переводится в 8-ричную систему счисления независимо от остальных троек:
Следовательно, 1100012 = 618 . Аналогично, разбивая Z2 на группы по 4 двоичные цифры и дополняя старшую группу незначащими нулями слева, получим 1100012= 3116.
Теорема 2. Для преобразования целого числа Zp Zq в том случае, если системы счисления связаны соотношением p = q r , где r — целое число большее 1, достаточно каждую цифру Zp заменить соответствующим r-разрядным числом в системе счисления q, дополняя его при необходимости незначащими нулями слева до группы в r цифр.
Выполнить преобразование D316 Z2.
Переходы Z8 Z16 и Z16
Z8, очевидно, удобнее осуществлять через промежуточный переход к двоичной системе. Например, 1238 = 0010100112 = 5316.
Экономичность системы счисления
Под экономичностью системы счисления будем понимать то количество чисел, которое можно записать в данной системе с помощью определенного количества цифр.
Доказано, что троичная система счисления оказывается самой экономичной для представления чисел. В 60-х годах в нашей стране была построена вычислительная машина «Сетунь», которая работала в троичной системе счисления. Предпочтение все же отдается двоичной системе, поскольку по экономичности она оказывается второй за троичной, а технически она реализуется гораздо проще остальных.
АРИФМЕТИКА В СИСТЕМАХ СЧИСЛЕНИЯХ
В основе правил арифметики лежат таблицы сложения и умножения однозначных чисел. Двоичная арифметика
Правила выполнения арифметических операций с двоичными числами отличаются большой простотой.
Сложение двоичных чисел проводится в соответствии со следующими правилами:
0 + 0 = 0 | 0 + 1 = 1 | 1 + 0 = 1
1 + 1 = 0 и 1 переносится в следующий, старший разряд.
Вычитание выполняется по следующим правилам:
0 – 0 = 0 | 10 – 1 = 1 (единица занимается из соседнего, старшего разряда)
1 – 0 = 1 | 1 – 1 = 0
Таблица умножения имеет очень простой вид:
0 × 0 = 0 | 0 × 1 = 0 | 1 × 0 = 0 | 1 × 1 = 1
Деление чисел в двоичной системе похоже на выполнение этой операции в десятичной системе. Оно сводится к последовательному вычитанию делителя из делимого.
Вы видите, что арифметические действия с двоичными числами выполняются очень легко, поэтому работа компьютера и основана на двоичном кодировании .
Источник