ВВЕДЕНИЕ
Формирование информационного общества связано с развитием и широким использованием информационных технологий (ИТ) во всех сферах человеческой деятельности. В настоящее время ИТ стали привычным инструментарием как в учебной, научной, так и практической деятельности. Эффективная деятельность специалиста любого профиля сегодня не мыслится без применения ИТ.
Для плодотворного применения персонального компьютера в профессональных областях деятельности пользователю следует знать, что означают такие информационные термины, как «бит», «байт», «файл», «информационная система», «операционная система» и др., уметь работать с системным и прикладным программным обеспечением, владеть технологиями подготовки и обработки документов, и т.д.,
Коренное отличие информатики, ИТ от других дисциплин состоит в том, что предметная область информатики изменяется чрезвычайно быстро. Сегодня, в среднем, один раз в полтора года удваиваются основные технические параметры аппаратных средств, один раз в два-три года меняются поколения программного обеспечения, и один раз в пять-семь лет меняется база стандартов, интерфейсов и протоколов. В будущем, эти темпы будут только нарастать.
Формат электронной книги (электронного пособия), в отличие от традиционных книг и учебников, представляет собой динамичную структуру, что позволяет своевременно вносить изменения и дополнения, соответствующие современному развитию живой науки — информатики, ее аппаратных и программных средств. На современном этапе такая возможность является одной из ключевых для организации учебного процесса, особенно на курсах подготовки и переподготовки специалистов.
Современные образовательные технологии (дистанционное образование) также требуют современного методического обеспечения учебного процесса, и в первую очередь, электронных учебников с удобной навигацией, развитым поисковым механизмом, встроенным автоматизированным контролем уровня знаний обучаемого.
Ныне информатика сталкивается с парадоксальным фактом. Ее основная задача состоит в преодолении общечеловеческого кризисного явления, называемого «информационным бумом», путем внедрения средств и методов, автоматизирующих операции с информацией (данными). Однако в собственной предметной области информатика испытывает такой информационный бум, какого не знает ни одна область человеческой деятельности. Например, мировой ассортимент изданий, имеющих прямое отношение к информатике (не считая периодических и электронных), составляет порядка десяти тысяч томов в год и полностью обновляется не реже, чем раз в два года.
Настоящая электронная книга продолжает серию «Поиск работы и трудоустройство» и выступает как пособие по 3 темам (1.Аппаратное и программное обеспечение ПК.2.Файловая система.8.Цифровой звук и его виды) 72 часового курса повышения квалификации, о котором идет речь во 2 главе книги «Как в Интернете не пройти мимо работы своей мечты». Предполагается, что следующие книги этой серии будут обеспечивать всю оставшуюся тематику данного курса.
Электронный формат таких пособий позволяет повысить качество и эффективность самостоятельной работы обучаемых. Данное учебное пособие может быть использовано в системах и учреждениях открытого и дополнительного образования.
Глава 1
Системы счисления. Компьютерная арифметика
1.1. Системы счисления. Перевод чисел из одной системы счисления в другую
Системы счисления. Совокупность приемов записи и наименования чисел называется системой счисления. Системы счисления подразделяются на позиционные и непозиционные.
Если в записи числа значение цифры не зависит от ее положения в структуре числа и при записи может использоваться неограниченное множество символов, то система счисления называется непозиционной. Примером такой непозиционной системы является римская система.
В современном мире наиболее широко используются позиционные системы счисления. В позиционных системах счисления для записи чисел используют ограниченных набор символов, а значение числа зависит от позиции занимаемой цифрой. В повседневной жизни мы пользуемся десятичной позиционной системой счисления.
В современном представлении информации большое значение имеет двоичная система счисления, именно эта система лежит в основе стандарта представления любых видов информации. Также довольно часто используются для представления числа в восьмеричной и шестнадцатеричной системах счисления, преобразования чисел в этих системах счисления и будут рассматриваться далее.
Набор цифр, из которых будет состоять двоичное число, очень мал — это 0 и 1. Восьмеричная система счисления имеет восемь цифр (0 — 7), шестнадцатеричная система имеет шестнадцать, причем первые десять цифр совпадают по написанию с цифрами десятичной системы счисления, а для обозначения оставшихся шести цифр применяются латинские буквы.
Так как из контекста не всегда понятно, к какой системе счисления относится запись, то основание недесятичной системы счисления записывается в виде нижнего индекса числа:
1112 =7 (10) 1118 =73 (10) 11116 =273 (10)
Запись чисел в десятичной, двоичной, восьмеричной и шестнадцатеричной системах счисления представлены в таблице кодирования.
Таблица 1.1.Таблица кодирования
Одинаковый принцип формирования чисел в позиционных системах счисления позволяет использовать алгоритм перевода из одной системы счисления в другую.
Правила перевода чисел из одной системы счисления в другую
Правила перевода числа произвольной системы счисления в десятичную систему счисления:
— Проставить номера позиций цифр в числе (начиная от запятой влево и вправо);
— Каждую цифру числа умножить на основание системы счисления в степени соответствующей номеру позиции;
— Перевести значения цифр в десятичные (для 16-ричных чисел, для систем счисления с основаниями 2 и 8 не требуется);
— Вычислить сумму полинома.
Рассмотрим пример использования данного алгоритма для числа FB,0C16
FB,0C16 = F·161 + B·160 +0·16—1 +C·8—2= 15·161 +11·160
+0·16—1 +13·8—2= = 251.468
Итак, FB,0C16 = 251.468
Правила перевода десятичного числа в иную систему счисления
— Целую часть числа последовательно делить нацело на основание системы счисления. «Собрать» остатки от деления, начиная с остатка от последнего.
— Дробную часть числа последовательно умножать на основание системы счисления, «сдвигая» целую часть произведений и продолжая умножение только дробной части, до заданной точности. «Собрать» целые части произведений, начиная с первого.
— При переводе в шестнадцатеричную систему счисления перевести значения результирующих цифр в шестнадцатеричные.
— Записать число (целую и дробную часть) и указать систему счисления.
Рассмотрим пример использования данного алгоритма для перевода числа 3338,78 в шестнадцатеричную систему счисления с точностью до четырех знаков после запятой
Из таблицы кодирования: 13= D16; 10=A16; 11=B16; 14=E16
После выполнения преобразований 3338,78 в десятичной системе счисления записывается как D0A, BAE116
Итак, 3338,78= D0A, BAE116
Связь двоичной, восьмиричной и шестнадцатиричной систем счисления
Между системами счисления с основаниями 2, 8 и 16 существует связь, позволяющая легко переводить числа из одной системы в другую, используя следующий метод:
В двоичном числе от десятичной запятой вправо и влево выделять группы цифр по три — для перевода в восьмеричную и по четыре — для перевода в шестнадцатеричную (такие группы называются соответственно триадами и тетрадами). Если в конечных группах будет недостаточно цифр, то в группы следует добавить нули.
Каждую группу независимо от других перевести в одну соответственно восьмеричную или шестнадцатеричную цифру. Для обратного перевода (из восьмеричной или шестнадцатеричной — в двоичную) нужно проделать обратную операцию — каждую цифру вправо и влево заменить группой соответственно из трех или четырех двоичных знаков.
1.2. Представление чисел в компьютере
Современный персональный компьютер позволяет работать с разнообразными данными: числами, символьными данными (текстом), графическими данными, звуковыми данными.
Все данные в компьютере хранятся и обрабатываются в унифицированном (единообразном) виде — двоичном цифровом коде. Требуется это для того, чтобы большое количество различных видов данных можно было обрабатывать одним устройством.
Числа, используемые человечеством, представляют бесконечно непрерывный ряд, различаются на положительные и отрицательные числа, целые и дробные, рациональные и иррациональные. Реализовать представление такого бесконечного множества в технических устройствах невозможно. Необходимы ограничения, как диапазона, так и точности представления чисел, система компьютерного представления чисел конечна и дискретна. В компьютерах размеры ячеек памяти (регистров) фиксированы, причем ограничения налагаются и на диапазон, и на точность представления чисел. Кроме того целесообразно представлять числа в той форме, на которую требуется меньшее количество компьютерной памяти.
При разделении записи числа на составляющие (знак числа, значение числа, знак порядка, значение порядка) легче перейти к конечной и дискретной форме, необходимой для представления в компьютере.
Любое действительное число можно записать в нормальной форме:
1.3. Компьютерная арифметика. Булевы функции
Компьютерная арифметика
В двоичной системе, как и в любой системе счисления возможны все арифметические операции: сложение, вычитание, умножение, деление.
При этом целочисленное представление чисел позволяет применить правила непосредственно к хранящимся данным. Использование представления с плавающей точкой в операциях сложения и вычитания требует предварительного выравнивания порядков чисел-операндов, и результат вычислений подвергается нормализации. При умножении и делении вещественных чисел порядок результата вычисляется соответственно сложением (вычитанием) порядков операндов, а мантисса — перемножением (делением) мантисс операндов.
Сложение. Правила сложения двоичных чисел те же, что в десятичной системе счисления, только каждый разряд суммы может принимать одно из двух значений — ноль или единица. Точно так же, как и в десятичной системе, для сложения чисел их удобно записать в столбик.
Сложение чисел нужно производить поразрядно, начиная с младшего разряда. При этом применяются следующие правила:
При сложении двух единиц мы получим ноль в текущем разряде и единицу переноса в старший разряд. Образующийся дополнительный бит называется битом переноса. Если бит переноса выходит за отведенное количество разрядов хранения числа, он оказывается утерянным.
Умножение. Умножение двоичных чисел, также схоже на умножение десятичных. Вот пример умножения двоичных чисел столбиком.
Точно так же, как и при умножении двоичных чисел, мы умножаем первое число на каждый разряд второго и записываем полученные результаты под первой чертой, одно под другим со сдвигом. Затем полученные промежуточные результаты складываем с учетом сдвига. Однако в случае с двоичными числами имеется одно существенное отличие. Так как любой разряд двоичного числа либо ноль, либо единица, то промежуточное умножение сильно облегчается. В самом деле, любое число, умноженное на единицу, равно самому себе. Любое число, умноженное на ноль, равно нулю. Именно поэтому умножение двух двоичных чисел сводится к операциям сдвига и сложения. Это очень важно для построения вычислительных машин. Для реализации операций сложения и умножения нужны только сумматоры и сдвиговые регистры.
Вычитание и деление. Для того чтобы упростить (для машинной обработки) операцию вычитания, был придуман так называемый «дополнительный код». Можно сказать, что при помощи этого кода записываются отрицательные числа. Чтобы записать двоичное число в дополнительном коде:
— необходимо инвертировать все его разряды (т.е. перевести число в обратный код — заменить его содержимое на противоположное),
— а затем прибавить единицу.
Таблица 1.2.Запись числа в дополнительном коде
Правило вычитания двух двоичных чисел:
— Перевести вычитаемое в дополнительный код.
— Сложить эти два числа (уменьшаемое и вычитаемое в дополнительном коде).
— При сложении бит переноса не учитывать.
— Полученный результат — разность.
Например, найдем разность между числами 13 и 5
Запишем в двоичном коде: 13 (00001101), 5 (00000101).
Переведем в дополнительный код вычитаемое: (5 (11111011).
Бит переноса из старшего разряда отбрасываем. Результат: 10002=810.
Деление в двоичной системе происходит так же как в десятичной системе счисления.
Правила деления чисел сводятся к сдвигу разрядов числа и вычитанию. Вычитание сводится к сложению чисел, одно из которых представлено в дополнительном коде.
При выполнении действий двоичной арифметики возможны ситуации, приводящие к неточности результата или ошибке. Так, при использовании целочисленного представления возможна ситуация потери старших разрядов результата (в случае превышения разрядов сетки). Еще одна парадоксальная ошибка «целочисленной арифметики» — при использовании знакового формата при сложении или умножении положительных чисел возможно получение результата, неверного по знаку (с единицей в знаковом бите) и модулю (без учета знакового бита). Для форматов с плавающей точкой возможна другая опасность: выход за границу допустимого диапазона значений. Это может произойти, если порядок результата оказывается больше максимального возможного значения. Обычно в такой ситуации выполнение программы прерывается по ошибке — «арифметическое переполнение». Схожая ситуация, когда результат меньше минимально возможного приведет к исчезновению числа (превращению в нуль, что опасно, например, при делении).
Булевы функции. Сложение по модулю два
Говоря об арифметических операциях с двоичными числами нельзя не сказать о логических операциях с ними. В XIX веке английский математик Джордж Буль разработал основные положения алгебры логики, ныне используемые для формального описания узлов ЭВМ. В алгебре логики (булевой алгебре) различают двоичные переменные и булевы функции.
Двоичные переменные могут принимать два значения: 0 и 1. Они обозначаются символами x1, x2, x3,…
Булевы функции зависят от двоичных переменных. Они, как и аргументы, могут принимать лишь два значения: 0 или 1, и обозначаются как f (x1,x2,x3,…) Булевы функции принято задавать таблицами истинности, где для всех наборов переменных указываются соответствующие им значения функции. Вместо значений 0,1 может использоваться любая другая пара подходящих символов, например false и true (F и T, «ложь» и «истина»). Элементарные булевы функции служат аргументами еще более сложных логических функций.
К элементарным логическим функциям относятся:
Логическое отрицание — инверсия (логическая функция НЕ). Логическим отрицанием переменной x называется такая булева функция f1 (x), которая имеет значение 1, когда x = 0 и значение 0, когда x = 1. Булева функция НЕ обозначается в виде f1 = x и читается: «f1 есть (эквивалентно) не x».
Логическое умножение — конъюнкция (логическая функция И). Конъюнкция двух (или любого другого числа) переменных x1 и x2 принимает значение 1 только на наборе, в котором все переменные имеют значения 1. На остальных наборах эта функция имеет значение 0.
Логическое сложение — дизъюнкция (логическая функция ИЛИ). Дизъюнкция двух (или любого другого числа) переменных x1 и x2 имеет значение 0 только на наборе, в котором все переменные имеют значение 0. Если хотя бы одна из переменных равна 1, функция будет иметь значение 1.
Элементарные логические функции НЕ, И, ИЛИ являются основными логическими функциями.
Весьма значимой также является еще одна булева функция: сложение по модулю 2
Сложение по модулю 2 — строгая дизъюнкция (исключающее ИЛИ). Эта функция переменных x1 и x2 имеет значение 0 на наборе, в котором переменные равны. Иначе говоря, результат равен 0, если оба операнда равны; во всех остальных случаях результат равен 1.
Приведем пример суммирования по модулю 2 двух двоичных чисел:
Бесплатный фрагмент закончился.
Купите книгу, чтобы продолжить чтение.