Раздел 1. Аппаратное обеспечение вычислительной техники

advertisement
-1Вычислительная техника и программирование (Информатика)
Лекция 1-01
Лекция 1-01
Раздел 1. Аппаратное обеспечение вычислительной техники
Тема 1.1. Введение
1.1.1. Предмет, цели, задачи и структура дисциплины
1.1.2. История развития вычислительной техники
1.1.3. Логическая структура компьютера
1.1.4. Аппаратное и программное обеспечение вычислительной техники и их
взаимодействие
Тема 1.2. Представление данных и элементная база компьютера
1.2.1. Информация и данные
1.2.2. Системы счисления
1.2.3. Форматы представления данных
РАЗДЕЛ 1. АППАРАТНОЕ ОБЕСПЕЧЕНИЕ
ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
Тема 1.1. Введение
1.1.1. Предмет, цели, задачи и структура дисциплины
Предмет дисциплины – современные средства вычислительной техники
(программные и аппаратные) и основы программирования на персональном компьютере.
Для студентов телекоммуникационных специальностей аппаратные и программные
средства вычислительной техники и их компоненты являются, с одной стороны,
элементами телекоммуникационных устройств, систем и сетей и, с другой стороны,
основным рабочим инструментом при их разработке и эксплуатации. Знакомство с языком
ассемблерного типа (языки данного типа используются при программировании
телекоммуникационных устройств) и овладение основами программирования на языках
высокого уровня, используемыми в программном обеспечении телекоммуникационных
узлов, также является необходимым для подготовки специалиста-разработчика средств
телекоммуникаций.
Поэтому целью данной дисциплины является изучение студентами современной
вычислительной техники для ориентации и практического использования, формирование
навыков работы с системным и прикладным программным обеспечением, а также
овладение основами программирования на алгоритмических языках на персональном
компьютере.
Задачи дисциплины:
 ознакомление с
историей развития вычислительной техники и
программирования;
 изучение основ архитектуры и организации вычислительного процесса в
вычислительных системах и сетях;
 обзор основных компонент вычислительных систем и сетей и их
взаимодействия;
 ознакомление с наиболее распространенными типами вычислительных систем и
сетей;
Файл: 446961435 Создан: 01.02.2000 Модифицирован: 15.01.2016
Автор: Алексеев Н.А.
-2Вычислительная техника и программирование (Информатика)
Лекция 1-01
 обзор структуры и компонент программного обеспечения вычислительной
техники;
 обзор наиболее распространенных в настоящее время операционных систем и
сред и основных пакетов прикладных программ, а также практическая работа с ними;
 изучение основ алгоритмизации задач и средств их программной реализации;
 изучение основ программирования и программирование на алгоритмическом
языке C;
 изучение основ программирования на основе функций API системы Windows;
 обзор тенденций и перспектив развития вычислительной техники и технологий
программирования.
Программа курса рассчитана на два семестра.
Для контроля овладения студентами материала курса и в первом и во втором
семестре предусмотрены экзамены. Текущий контроль будет проводиться на
практических занятиях и лабораторных работах.
1.1.2. История развития вычислительной техники
Во все времена людям нужно было считать. В далеком прошлом они считали на
пальцах или делали насечки на костях.
Несколько сот лет назад появились первые
ручные вычислительные инструменты. А в наши дни сложнейшие вычислительные
задачи, как и множество других операций, казалось бы, не связанных с числами,
решаются при помощи "электронного мозга", который называется компьютером. Ни
одна другая машина в истории не привнесла в наш мир столь быстрых и глубоких
изменений. Компьютеры столь прочно вошли в современную жизнь, что обойтись без
них практически невозможно.
Несмотря на столь бурный прогресс в наши дни, закладка фундамента
компьютерной революции происходила медленно и далеко не гладко. Отправной точкой
этого процесса можно считать изобретение счетов (рис. 1.1) , сделанное более 1500 лет
назад, по-видимому, в странах Средиземноморья. Счеты оказались очень эффективным
инструментом и вскоре распространились по всему свету, а в некоторых странах
применяются еще и по сей день.
Рис. 1.1. Счеты (III век).
Следующим после счетов устройством, облегчающим умножение и деление чисел,
а также некоторые другие расчеты, стала логарифмическая линейка, изобретенная в
конце 1620-х годов (впервые логарифмы были введены в практику после работы
шотландца Джона Непера, опубликованной в 1614 г.).
Первое механическое счетное устройство было создано в 40-х годах XVII в.
выдающимся французским математиком, физиком, писателем и философом Блезом
Паскалем (в его честь назван один из самых распространенных современных языков
программирования).
Суммирующая
машина Паскаля,
"паскалина" (рис. 1.2),
представляла собой ящик с многочисленными шестеренками. Другие операции, кроме
Файл: 446961435 Создан: 01.02.2000 Модифицирован: 15.01.2016
Автор: Алексеев Н.А.
-3Вычислительная техника и программирование (Информатика)
Лекция 1-01
сложения, выполнялись при помощи довольно неудобной процедуры повторных
сложений.
Рис. 1.2. Суммирующая машина Паскаля (1642 г.)
Первая машина, позволявшая легко производить вычитание, умножение и деление,
- механический калькулятор была изобретена в 1673 г.
в Германии Готфридом
Вильгельмом Лейбницем (рис. 1.3). В дальнейшем конструкция механического
калькулятора видоизменялась и дополнялась учеными и изобретателями различных стран
(в частности ручное вращение каретки в электромеханическом калькуляторе
калькулятора было заменено на привод от встроенного в этот калькулятор
электродвигателя). И механический и электромеханический калькуляторы, также, как и
логарифмическая линейка дожили практически до наших дней, пока не были вытеснены
электронными калькуляторами.
Рис. 1.3. Калькулятор Лейбница (1673 г.)
Из всех изобретателей прошлых столетий, внесших тот или иной вклад в развитие
вычислительной техники, ближе всего к созданию компьютера в современном его
понимании подошел англичанин Чарльз Бэббидж.
В 1822 г. Бэббидж опубликовал
научную статью с описанием машины, способной рассчитывать и печатать большие
математические таблицы. В том же году он построил пробную модель своей Разностной
машины (рис.1.4), состоящую из шестеренок и валиков, вращаемых вручную при
помощи специального рычага. На протяжении следующего десятилетия Бэббидж без
устали работал над своим изобретением, безуспешно пытаясь практически ее
реализовать.
Однако, продолжая размышлять на ту же тему, он пришел к идее
создания еще более мощной машины, которую он назвал аналитической машиной.
Файл: 446961435 Создан: 01.02.2000 Модифицирован: 15.01.2016
Автор: Алексеев Н.А.
-4Вычислительная техника и программирование (Информатика)
Лекция 1-01
Рис. 1.4. Разностная машина Бэббиджа (1822 г.)
Аналитическая машина Бэббиджа в отличие от своей предшественницы должна
была не просто решать математические задачи одного определенного типа, а выполнять
разнообразные вычислительные операции в соответствии с инструкциями, задаваемыми
оператором.
Аналитическая машина должна была иметь такие компоненты, как
"мельница" и "склад" (по современной терминологии - арифметическое устройство и
память), состоящие из механических рычажков и шестеренок. Инструкции, или
команды, вводились в Аналитическую машину с помощью перфокарт (листов картона с
пробитыми в них отверстиями), впервые использованных в
1804 г. французским
инженером Жозефом Мари Жаккаром для управления работой ткацких станков.
Одним из немногих, кто понимал, как работает машина и каковы потенциальные
области ее применения, была графиня Лавлейс, урожденная Огаста Ада Байрон,
единственный законный ребенок поэта лорда Байрона (в ее честь также назван один из
языков программирования - АДА). Графиня отдала все свои незаурядные математические
и литературные способности осуществлению проекта Бэббиджа.
Однако на основе стальных, медных и деревянных деталей, часовых механизмов,
приводимых в действие паровым двигателем, аналитическую машину нельзя было
реализовать, и она так и не была построена. Все, что дошло от нее до наших дней, - это
ворох чертежей и рисунков, которые позволили воссоздать модель этой машины (рис.
1.5.), а также небольшая часть арифметического устройства и печатающее устройство,
сконструированное сыном Бэббиджа.
Рис. 1.5. Модель аналитической машины Бэббиджа (1834 г.)
Лишь через 19 лет после смерти Бэббиджа один из принципов, лежащих в основе
идеи Аналитической машины, – использование
перфокарт – нашел воплощение в
действующем устройстве. Это был статистический табулятор (рис. 1.6.), построенный
американцем Германом Холлеритом с целью ускорить обработку результатов переписи
населения, которая проводилась в США в 1890 г. После успешного использования
табулятора для переписи Холлерит организовал фирму по производству табуляционных
Файл: 446961435 Создан: 01.02.2000 Модифицирован: 15.01.2016
Автор: Алексеев Н.А.
-5Вычислительная техника и программирование (Информатика)
Лекция 1-01
машин "Тэбьюлейтинг машин компани" (Tabulating Machine Company). С годами
предприятие Холлерита претерпело ряд изменений – слияний и переименований.
Последнее такое изменение произошло в 1924 г., за 5 лет до смерти Холлерита, когда он
создал фирму ИБМ (IBM, International Business Machines Corporation).
Рис. 1.6. Табулятор Холлерита (1890 г.)
Еще одним фактором, способствовавшим появления современного компьютера,
стали работы по двоичной системе счисления. Одним из первых, кто заинтересовался
двоичной системой, стал немецкий ученый Готфрид Вильгельм Лейбниц, В своей работе
"Искусство составления комбинаций" (1666 г.) он заложил основы формальной двоичной
логики.
Но основной вклад в исследование двоичной системы счисления внес
английский математик-самоучка Джордж Буль. В своей работе под названием
«Исследование законов мышления» (1854 г.) он изобрел своеобразную алгебру – систему
обозначений и правил, применимую к всевозможным объектам, от чисел и букв до
предложений (эта алгебра затем была названа в его честь булевой алгеброй). Пользуясь
этой системой Буль мог закодировать высказывания – утверждения, истинность или
ложность которых требовалось доказать, – с помощью символов своего языка, а затем
манипулировать как двоичными числами.
В 1936 г. выпускник американского университета Клод Шеннон показал, что если
построить электрические цепи в соответствии с принципами булевой алгебры, то они
могли бы выражать логические отношения, определять истинность утверждений, а также
выполнять сложные вычисления и вплотную приблизился к теоретическим основам
построения компьютера.
Еще трое исследователей - двое в США (Джон Атанасофф и Джордж Стибиц) и
один в Германии (Конрад Цузе) – развивали одни и те же идеи практически
одновременно. Независимо друг от друга они поняли, что булева логика может
послужить очень удобной основой для конструирования компьютера. Первая грубая
модель счетной машины на электрических схемах была построена Атанасоффым в 1939 г.
В 1937 г. Джордж Стибиц собрал первую электромеханическую схему, выполняющую
операцию двоичного сложения (в наши дни двоичный сумматор по-прежнему остается
одним из основных компонентов любого цифрового компьютера). Еще через пару лет
Стибиц вместе с другим сотрудником фирмы, инженером-электриком Сэмюелом
Уильямсом, разработал устройство, способное производить операции вычитания,
умножения и деления, а сложения комплексных чисел.
Не имея ни малейшего представления о работе Чарльза Бэббиджа и о работах Буля,
Конрад Цузе в Берлине начал разрабатывать универсальную вычислительную машину,
во многом подобную Аналитической машине Бэббиджа. В 1938 г. первый вариант
Файл: 446961435 Создан: 01.02.2000 Модифицирован: 15.01.2016
Автор: Алексеев Н.А.
-6Вычислительная техника и программирование (Информатика)
Лекция 1-01
машины, названный Z1, был построен. Данные в машину вводились с клавиатуры, а
результат высвечивался на панели с множеством маленьких лампочек. Во втором
варианте машины, Z2, ввод данных в машину производился с помощью перфорированной
фотопленки (рис. 1.7).
Рис. 1.7. Первый универсальный компьютер Конрада Цузе (1941 г.)
Мощный импульс дальнейшему развитию вычислительной теории и техники дала
вторая мировая война. Она также способствовала тому, что были собраны воедино
разрозненные достижения ученых и изобретателей, внесших свой вклад в развитие
двоичной математики, начиная с Лейбница.
По заказу командования военно-морского флота, при финансовой и технической
поддержке фирмы IBM, молодой гарвардский математик Говард Эйкен принялся за
разработку машины, в основу которой легли непроверенные идеи Бэббиджа и надежная
технология XX в. Описания Аналитической машины, оставленного самим Бэббиджем,
оказалось более чем достаточно. В качестве переключательных устройств в машине
Эйкена использовались простые электромеханические реле (причем использовалась
десятичная система счисления); инструкции (программа обработки данных) были
записаны на перфоленте, а данные вводились в машину в виде десятичных чисел,
закодированных на перфокартах фирмы IBM. Первые испытания машина, названная
"Марк-1", успешно прошла в начале 1943 г. "Марк-1", достигавший в длину почти 17
м и в высоту более 2,5 м, содержал около 750 тыс. деталей, соединенных проводами
общей протяженностью около 800 км (рис. 1.8). Машину
стали использовать для
выполнения сложных баллистических расчетов, причем за
день она выполняла
вычисления, на которые раньше уходило полгода.
Рис. 1.8. Программно-управляемый компьютер «Марк-1» (1943 г.)
Однако по существу, "Марк-1" устарел еще до того, как был построен. В 1941 г.,
почти за два года до того, как "Марк-1" начал работать, Конрад Цузе построил
действующий компьютер – программно-управляемое устройство,
основанное на
двоичной системе счисления. Машина Z3 была значительно меньше машины Эйкена и
гораздо дешевле в производстве.
Как машина Z3, так и ее "преемник" Z4
использовались для расчетов, связанных с конструированием самолетов и ракет.
Для поиска способов расшифровки секретных немецких кодов
британская
разведка собрала группу
ученых и поселила их неподалеку от Лондона, в
изолированном от остального мира поместье. Среди "засекреченных парней" были
представители различных специальностей – от инженеров до профессоров литературы.
Входил в эту группу и математик Алан Тьюринг. Еще в 1936 г. в возрасте 24 лет он
Файл: 446961435 Создан: 01.02.2000 Модифицирован: 15.01.2016
Автор: Алексеев Н.А.
-7Вычислительная техника и программирование (Информатика)
Лекция 1-01
написал работу, с описанием абстрактного механического устройства – "универсальной
машины", которая должна была справляться с любой допустимой, т. е. теоретически
разрешимой, задачей - математической или логической. Некоторые идеи Тьюринга были,
в конечном счете, воплощены в реальных машинах, построенных группой. Сначала
удалось создать несколько дешифраторов на основе
электромеханических
переключателей. Однако в конце 1943 г. были построены гораздо более мощные
машины, в которых вместо электромеханических реле
содержалось около 2000
электронных вакуумных ламп. Англичане назвали новую машину "Колосс". Тысячи
перехваченных за день неприятельских сообщений вводились в память "Колосса" в виде
символов, закодированных на перфоленте (рис. 1.9).
Рис. 1.9. Машина для расшифровки кодов «Колосс» (1943 г.)
На другом берегу Атлантического океана, в Филадельфии, потребности военного
времени способствовали появлению устройства, которое по принципам работы и
применению было уже ближе к теоретической “универсальной машине” Тьюринга.
Машина "Эниак" (ENIAC – Electronic Numerical Integrator and Computer – электронный
цифровой интегратор и вычислитель), подобно "Марку-1" Говарда Эйкена, также
предназначалась для решения задач баллистики. Главным консультантом проекта был
Джон У. Мочли, главным конструктором – Дж. Преспер Экерт. Конструкция машины
выглядела фантастически сложной – предполагалось, что она будет содержать 17468
ламп. Такое обилие ламп отчасти объяснялось тем, что "Эниак" должен был работать с
десятичными числами. В конце 1945г. "Эниак" был наконец собран (рис. 1.10).
Рис. 1.10. Электронная цифровая машина «Эниак» (1946 г.)
Однако, не успел "Эниак" вступить в эксплуатацию, как Мочли и Экерт уже
работали по заказу военных над новым компьютером. Главным недостатком
компьютера "Эниак" была аппаратная реализация программ с помощью электронных
схем.
Следующая модель – машина "Эдвак", вступившая в строй в начале 1951 г.,
(EDVAC, от Electronic Discrete Automatic Variable Computer – электронный компьютер с
Файл: 446961435 Создан: 01.02.2000 Модифицирован: 15.01.2016
Автор: Алексеев Н.А.
-8Вычислительная техника и программирование (Информатика)
Лекция 1-01
дискретными изменениями) – была уже более гибкой. Ее более вместительная внутренняя
память содержала не только данные, но и программу в специальных устройствах –
заполненных ртутью трубках, называемые линиями задержки. Существенно и то, что
"Эдвак" кодировал данные уже
в двоичной системе, что позволило значительно
сократить количество электронных ламп.
Среди слушателей курса лекций об электронных компьютерах, проводившихся
Мочли и Экертом в процессе реализации проекта “Эдвак”, оказался английский
исследователь Морис Уилкс. Вернувшись в Кембриджский университет, он в 1949 г.
(на два года раньше, чем оставшиеся члены группы построили машину "Эдвак")
завершил сооружение первого в мире компьютера с программами, хранимыми в памяти.
Компьютер получил название "Эдсак" (EDSAC, от Electronic Delay Storage Automatic
Calculator – электронный автоматический калькулятор с памятью на линиях задержки)
(рис. 1.11).
Рис. 1.11. Первый компьютер с программами,
хранимыми в памяти – «Эдсак» (1949 г.)
Эти первые успешные воплощения принципа хранения программы в памяти
явились завершающим этапом в серии изобретений, начатых в военное время. Теперь был
открыт путь для широкого
распространения
все более быстродействующих
компьютеров.
Эпоха массового производства компьютеров началась с выпуска первого
коммерческого компьютера LEO (Lyons’ Electronic Office), использовавшегося для
расчета зарплаты работникам чайных магазинов, принадлежащих фирме “Lyons” (рис.
1.12).
Рис. 1.12. Первый коммерческий компьютер LEO (1951 г.)
Качественно новый этап в проектировании компьютеров наступил, когда фирма
IBM запустила свою известную серию машин – IBM/360. Машины этой серии имели
разную производительность, разный набор устройств и были предназначены для решения
разных задач, однако были построены по единым принципам, что существенно облегчало
модернизацию компьютеров и обмен программами между ними.
В бывшем СССР к разработке компьютеров (они были названы ЭВМ –
электронные вычислительные машины) приступили в конце 40-х годов. В 1950 г. в
Институте электротехники АН УССР в Киеве была испытана первая отечественная ЭВМ
на электронных
лампах – малая
электронная счетная машина (МЭСМ),
Файл: 446961435 Создан: 01.02.2000 Модифицирован: 15.01.2016
Автор: Алексеев Н.А.
-9Вычислительная техника и программирование (Информатика)
Лекция 1-01
спроектированная группой ученых и инженеров под руководством академика С. А.
Лебедева. В 1952 г. под его руководством была создана большая электронная счетная
машина (БЭСМ), которая после модернизации в 1954 г. имела высокое для того времени
быстродействие – 10000 операций/с
1.1.3. Логическая структура компьютера
В июне 1945 г. член группы Мочли и Экерта Джон фон Нейман подготовил отчет,
озаглавленный "Предварительный доклад о машине "Эдвак"", в котором описана не
только структура машины “Эдвак”, но и общая логическая структура компьютера.
В этом отчете фон Нейман выделил и детально описал ключевые компоненты
того, что ныне называют "архитектурой фон Неймана" современного компьютера. Чтобы
компьютер был и эффективным, и универсальным инструментом, он должен включать
следующие компоненты:
 арифметико-логическое устройство (АЛУ);
 устройство управления (УУ);
 запоминающее устройство, или память;
 устройства ввода-вывода информации.
Логическая схема компьютера представлена на рисунке (сплошные линии
показывают управляющие связи, прерывистые - информационные).
Рис. 1.13. Логическая схема компьютера
Арифметико-логическое устройство производит арифметические и логические
преобразования над поступающими в него данными.
Устройство управления автоматически управляет процессом обработки
информации, посылая всем другим устройствам сигналы, предписывающие им те или
иные действия.
Совокупность АЛУ и УУ называют процессором.
Память хранит информацию, передаваемую из других устройств (в том числе
устройств ввода) и выдает информацию другим устройствам компьютера, включая
устройства вывода.
Устройства ввода и вывода служат для ввода данных в машину, вывода
результатов и, при необходимости, управления процессом обработки информации.
Фон Нейман также отмечал, что компьютер должен работать с двоичными
числами, быть электронным, а не механическим устройством и выполнять операции
Файл: 446961435 Создан: 01.02.2000 Модифицирован: 15.01.2016
Автор: Алексеев Н.А.
- 10 Вычислительная техника и программирование (Информатика)
Лекция 1-01
последовательно, одну за другой. Принципы, сформулированные фон Нейманом, стали
общепринятыми только потому, что широко применялись все время; они были положены
в основу как больших ЭВМ первых поколений, так и более поздних мини- и микро-ЭВМ.
1.1.4. Аппаратное и программное обеспечение вычислительной
техники и их взаимодействие
Любой компьютер в процессе работы использует не только свои
аппаратные
компоненты, описанные выше в логической структуре компьютера и называемые
аппаратным (или техническим) обеспечением (hardware), но и хранимыми в памяти
или загружаемыми в память программами, называемыми программным обеспечением
(software).
Средства программного обеспечения и аппаратные средства являются двумя
основными компонентами современных компьютеров.
Программное обеспечение дополняет компьютер теми возможностями, которые
трудно или экономически невыгодно реализовать чисто аппаратными средствами, а также
выполняет роль посредника между пользователями и компьютером, создавая для
пользователя необходимые удобства взаимодействия с компьютером.
Как правило, используемые программы предъявляют определенные требования к
аппаратным средствам компьютера (например, требования к объему оперативной памяти
и памяти на диске, наличию тех или иных устройств ввода-вывода). В свою очередь,
большинство аппаратных средств (например, мышь, сканер или звуковая карта) требует
при своем функционировании наличия в памяти компьютера определенных программ,
называемых драйверами устройств.
В первом семестре на лекциях будут рассмотрены аппаратные средства
вычислительной техники, а именно:
 представление данных и элементная база компьютера;
 компоненты компьютера;
 основные типы компьютеров;
 распределенные информационные системы;
 перспективы развития вычислительной техники;
На практических занятиях в первом семестре будут рассматриваться компоненты
программного обеспечения компьютера: операционные системы, утилиты и прикладные
программы, а также основы программирования на алгоритмических языках C и C++.
На лабораторных работах в первом семестре предусмотрено овладение навыками
работы в среде операционных систем MS DOS и Windows, овладение навыками работы с
системными утилитами и пакетами прикладных программ, а также обучение навыкам
программирования на языках C и C++.
Во втором семестре на лекциях будут изложены основы программирования в
Win32:
 общие положения программирования в Win32;
 графика в Windows;
 средства ввода в Windows;
 использование ресурсов в программах под Windows;
 процессы и обмен данными в Windows.
Файл: 446961435 Создан: 01.02.2000 Модифицирован: 15.01.2016
Автор: Алексеев Н.А.
- 11 Вычислительная техника и программирование (Информатика)
Лекция 1-01
Основная литература в первом семестре:
1. Пятибратов А.П. и др. Вычислительные системы, сети и телекоммуникации. –
М.: Финансы и статистика, 2001. – 512 с.
2. Колесниченко О.В., Шишигин И.В. Аппаратные средства PC. – СПб.: БХВ –
Санкт-Петербург, 1999. – 800 с.
3. В.Г. Олифер, Н.А. Олифер. Сетевые операционные системы. – СПб.: Питер,
2001. – 544 с.
4. Х. Дейтел, П. Дейтел. Как программировать на C. – М.: ЗАО «Издательство
«Бином», 2000. – 1008 с.
5. С. Прата. Язык программирования С. Лекции и упражнения. – К.: Издательство
«ДиаСофт», 2000. – 432 с.
Тема 1.2. Представление данных и элементная база
компьютера
1.2.1. Информация и данные
Любая форма человеческой деятельности, любой процесс функционирования
технического объекта связан с передачей и преобразованием информации.
Информация, воплощенная и зафиксированная в некоторой материальной форме,
(например, на дискете) называется данными.
Данные могут иметь постоянное значение (быть константами) или изменяться
(быть переменными).
Примером константы может служить число =3,14159. Другим примером данного,
имеющего постоянное значение, является имя определенного человека (например,
«Петр»).
Примером переменной величин может служить скорость автомобиля (во время
остановок автомобиля она равна нулю, при движении автомобиля может менять от нуля
до некоторой максимальной величины, зависящей от марки автомобиля). Переменной
величиной является также результат бросания монеты. Этот результат может принимать
одно из двух значений – «орел» (сверху та сторона монеты, на которой находится герб)
или «решка» (сверху та сторона монеты, на которой указана ее стоимость – номинал).
Как видно из предыдущих примеров, величины могут принимать как числовые
значения (константа  и скорость автомобиля, измеряемая в км/час), так и являться
нечисловыми (имя человека и результат бросания монеты).
Любую нечисловую информацию можно преобразовать в числовую форму.
Обычно для этого каждому из возможных значений величины сопоставляется свое,
уникальное, число. Этот процесс часто называют кодированием информации. Так
можно каждому возможному имени человека присвоить свой уникальный порядковый
номер (количество таких имен очень велико, но конечно). Результату бросания монеты
«орел» можно присвоить числовое значение 0, а результату бросания «решка» – значение
1.
Способ кодирования информации зависит от решаемой задачи. Так для имен людей
кодирование лучше выполнять не по самим именам, а по буквам (например, в порядке их
следования в алфавите). В этом случае, если каждой буквы использовать код их двух
цифр, числовой эквивалент имени «Петр» будет равен 17062018. Во втором случае
существенным является не названия результатов бросания монеты, а то, что возможных
результатов всего два, и поэтому их можно закодировать любыми двумя числами.
Файл: 446961435 Создан: 01.02.2000 Модифицирован: 15.01.2016
Автор: Алексеев Н.А.
- 12 Вычислительная техника и программирование (Информатика)
Лекция 1-01
В дальнейшем будем считать, что все постоянные и переменные величины имеют
числовые значения.
Все целые и дробные числа (положительные, отрицательные и нуль) называются
рациональными числами. Рациональные числа образуют бесконечное множество,
обладающее следующими свойствами:
1. Это множество упорядоченное, т.е. для каждых двух различных рациональных
чисел a и b можно указать, какое из них меньше другого.
2. Это множество всюду плотное, т.е. между каждыми двумя различными
рациональными числами a и b (a<b) существует еще, по крайней мере, одно
рациональное число c (a<c<b), а, следовательно, и бесконечное множество рациональных
чисел.
3. Арифметические действия (сложение, вычитание, умножение и деление) над
любыми двумя различными рациональными числами всегда возможны и дают в
результате определенное рациональное число. Исключением является деление на нуль,
так как не существует определенного числа b, удовлетворяющего равенству b0=a (если
a=0, то b может быть любым числом, если a0, то b не существует).
Совокупность рациональных чисел не исчерпывает всего множества допустимых
чисел. Так, существуют числа, которые представляют длины отрезков, несоизмеримых с
длиной масштаба (т.е. отрезков, которые нельзя выразить целым или дробным числом).
Таким числом является, например, число , которое, как известно, является отношением
длины окружности к ее диаметру. Числа, подобные числу , называют
иррациональными.
Все рациональные и иррациональные числа называют действительными, или
вещественными. Помимо свойств 1-3 для рациональных чисел вещественные числа
обладают также свойством непрерывности.
Любое рациональное число можно представить в виде m/n, где m и n – целые
числа. Иррациональные числа в этом виде точно представить нельзя, однако всякое
иррациональное число можно с любой степенью точности заменить рациональным
числом, таким же образом, как заменено выше число .
Переменные величины могут быть связаны между собой функциональной
зависимостью, если каждому заданному значению одной из нескольких величин,
называемых аргументами, соответствует одно или несколько значений переменной
величины, называемой функцией. Совокупность допустимых значений аргументов
называется областью определения функции, которой соответствует
множество
значений функции.
Существуют три основных способа представления функций:
 аналитическое;
 табличное;
 графическое.
Аналитически функция может быть описана с помощью одной или нескольких
формул или уравнений.
Зависимость функции (скорости движения автомобиля) от времени можно
упрощенно представить с помощью следующих формул (v – скорость автомобиля, t –
время, vmax – максимальная скорость автомобиля, t1 – время достижения автомобилем
максимальной скорости, t2 – время начала торможения автомобиля):
v = (vmax/t1)t
при 0  t  t1
– разгон автомобиля;
v = vmax
при t1 < t  t2
– движение автомобиля;
Файл: 446961435 Создан: 01.02.2000 Модифицирован: 15.01.2016
Автор: Алексеев Н.А.
- 13 Вычислительная техника и программирование (Информатика)
Лекция 1-01
при t2 < t  t2+t1
– торможение автомобиля;
Часто функциональную зависимость не удается представить в виде формулы. В
этом случае значения аргумента и соответствующие значения функции можно задать в
виде таблицы.
Для зависимости скорости движения от времени при vmax= 50 км/час, t1=0,05 часа
и t2=0,5 часа таблица для функции v будет иметь следующий вид:
v = vmax - (vmax/t1)(t-t2)
Время
(t, час)
Скорость
(v, км/час)
0
0,01
0,02
0,03
0,04
0,05
0,01...0,5
0,51
0,52
0,53
0,54
0,55
0
10
20
30
40
50
50
40
30
20
10
0
Результат бросания монеты (0 или 1) является случайной величиной, поэтому его
нельзя представить в виде формулы, однако можно задать в табличном виде как
зависимость от номера испытания (в теории вероятностей проведение эксперимента, в
результате которого получается случайная величина, называется испытанием):
Номер
испытания (n)
Результат (y)
1
2
3
4
5
6
7
8
9
10
0
0
1
0
1
1
1
0
0
1
Чтобы графически изобразить заданную функциональную зависимость, на
горизонтальной оси (оси абсцисс) отмечается ряд значений одной из переменных величин
(обычно аргумента), а на вертикальной оси (оси ординат) соответствующие значения
функции.
Так график зависимости скорости автомобиля от времени выглядит следующим
образом (рис.2.1):
Рис. 2.1. График зависимости скорости автомобиля от времени
А зависимость результата бросания монеты (y) от номера испытания (n) выглядит
можно представить с помощью следующего графика (рис. 2.2):
Рис. 2.2. Результаты бросания монеты
Файл: 446961435 Создан: 01.02.2000 Модифицирован: 15.01.2016
Автор: Алексеев Н.А.
- 14 Вычислительная техника и программирование (Информатика)
Лекция 1-01
Функции, графики которых представлены на рисунках 2.1 и 2.2, существенно
отличаются по характеру изменения значений аргумента и функции.
Значения аргумента и функции в случае движения автомобиля имеют
вещественные значения и меняются непрерывно. Такие переменные данные называются
непрерывными, или аналоговыми данными. В природе и технике многие данные
меняются непрерывно (например, изменение освещенности в течение дня, звуковые
колебания, изменение электрического напряжения в зависимости от силы тока и др.).
В случае бросания монеты аргументы и функция принимают только
фиксированные значения. Такие переменные данные называются дискретными.
Дискретными являются, в частности, все числовые данные.
В соответствии с характером изменения данных все устройства обработки и
передачи данных (в том числе и компьютеры) делятся на два класса: непрерывного
действия – аналоговые и дискретного действия – цифровые.
В настоящее время под словом компьютер обычно понимают устройство, в
котором данные представлены и обрабатываются в дискретной (числовой) форме.
В аналоговых вычислительных машинах (АВМ) обрабатываемая информация
представляется соответствующими значениями аналоговых величин: тока, напряжения,
угла поворота какого-либо механизма и т.п. АВМ появились даже раньше, чем
компьютеры (так, механическое вычислительное устройство под названием
«дифференциальный анализатор», способное решать сложные дифференциальные
уравнения, было построено в США еще в 1930 г.). Недостатком АВМ является невысокая
точность вычислений (0,01-0,001), поэтому в настоящее время область их применения
очень ограничена (в основном, в составе различных моделирующих устройств при
разработке сложных образцов техники).
Хотя компьютер не может обрабатывать непосредственно аналоговые данные, эти
данные могут быть введены в компьютер после преобразования их в дискретную форму.
Это операция выполняется с помощью специальных устройств ввода – аналоговоцифровых преобразователей (АЦП). Чтобы превратить непрерывный аналоговый сигнал в
числовую форму, АЦП через заданные промежутки (кванты) времени – измеряет
величину аналогового сигнала и эти величины вводятся в компьютер для последующей
обработки. Так, для непрерывной функции на рис. 2.1 значения скорости, приведенные в
таблице зависимости v от t, являются дискретным представлением этой функции с
интервалом (шагом) квантования, равным 0,01 часа (36 секунд). Аналогичным образом
аналоговые звуковые колебания в микрофоне, подключенном к компьютеру,
преобразуются в числовые данные (оцифровываются) для хранения и обработки в
компьютере. Ясно, что чем меньше шаг квантования, тем более точно будет представлена
аналоговая переменная, однако тем больше будет объем полученных дискретных данных
и больше время их обработки.
В современных компьютерах часто приходится решать и обратную задачу:
преобразования дискретного сигнала в аналоговую форму. Устройство, выполняющее эту
операцию, называется цифро-аналоговым преобразователем (ЦАП). Сначала
преобразователь ставит в соответствие каждому числу в дискретном представлении
данных соответствующий уровнень напряжения. Получаемая пилообразная кривая
пропускается через специальный электронный фильтр, который сглаживает ее, превращая
в непрерывный сигнал, который затем можно подать на вход аналогового устройства
(например, громкоговорителя компьютера).
Таким образом, в силу универсальности числовой формы представления
информации компьютеры являются наиболее универсальными устройствами обработки
Файл: 446961435 Создан: 01.02.2000 Модифицирован: 15.01.2016
Автор: Алексеев Н.А.
- 15 Вычислительная техника и программирование (Информатика)
Лекция 1-01
информации для широкого круга задач в самых разных областях науки, техники, бизнеса
и управления.
1.2.2. Системы счисления
Рассмотрим более подробно формы представления чисел в повседневной жизни и в
компьютере.
Под системой счисления понимается способ представления любого числа с
помощью некоторого алфавита символов, называемых цифрами.
Система счисления называется позиционной, если одна и та же цифра имеет
различное значение, определяемое позицией цифры в последовательности цифр,
изображающей число (примером непозиционной системы является римская система
счисления).
Количество различных цифр в алфавите позиционной системы называется
основанием S этой системы. Используемая в повседневной жизни система счисления
имеет десять различных цифр (0,1,2,3,4,5,6,7,8,9) и поэтому называется десятичной
системой счисления.
Любое число N в позиционной системе счисления может быть представлено
суммой произведений целых однозначных коэффициентов ai, взятых из алфавита системы
на последовательные целые степени основания S:
Ns  am S m  am1S m1    a1S 1  a0 S 0  a1S 1  a2 S 2  
(1.1)
Сокращенная запись числа Ns имеет вид:
N s  a m a m  1  a1 a 0 , a  1 a  2  .
В этой последовательности запятая отделяет целую часть числа от дробной части.
Запятая опускается, если нет отрицательных степеней. Позиции цифр ai, отсчитываемые
от запятой, называются разрядами. В позиционной системе счисления значение каждого
разряда больше значения соседнего справа разряда в число раз, равное основанию S
системы.
В компьютерах применяются следующие позиционные системы счисления:
десятичная, двоичная, восьмеричная и шестнадцатеричная.
Алфавит десятичной системы счисления состоит, как уже указывалось, из десяти
различных цифр: 0, 1, 2, ... 9. В этой системе “вес” каждого разряда в 10 раз больше
“веса” предыдущего. Например, в записи 1987 цифра 1 означает число тысяч, цифра 9 число сотен, цифра 8 – число десятков и цифра 7 – число единиц.
Всякое число в десятичной системе счисления можно представить, в соответствие с
формулой 1.1, суммой различных целых степеней десяти (S = 10) с соответствующими
коэффициентами ai (0, 1, 2, ... 9):
N 10  a m 10 m  a m110 m1  a1101  a 0 10 0  a 110 1 ,
где
a0 , a1 ,, am – количество единиц, десятков, сотен и т. д.;
a1, a2 , – количество десятых, сотых, тысячных и т. д. долей единицы.
Файл: 446961435 Создан: 01.02.2000 Модифицирован: 15.01.2016
Автор: Алексеев Н.А.
- 16 Вычислительная техника и программирование (Информатика)
Лекция 1-01
Иррациональные числа, например, число , а также некоторые дроби, например,
1/3, не могут быть точно представлены с помощью конечной последовательности цифр.
Как уже говорилось, в этом случае берется их приближение с заданной точностью.
Выбор той или иной системы счисления для представления чисел является
произвольным. Так, выбор десятичной системы объясняется тем, что у нас на руках 10
пальцев. Однако разные народы в разные периоды времени использовали и другие
системы счисления. Так, в древнем Вавилоне, наряду с десятичной системой счисления
широко
использовалась
и
шестидесятеричная
система
счисления.
Следы
шестидесятеричных дробей сохраняются и поныне в делении углового градуса, а также
часа, на 60 минут и минуты на 60 секунд.
Ясно, что не существует максимального основания системы счисления, т.е.
основание системы счисления может быть сколь угодно велико. В то же время существует
минимальное основание системы счисления, равное 2. Эта система счисления называется
двоичной системой счисления, в которой только две цифры – 0 и 1.
Любое действительное число в двоичной системе счисления представляется в виде
суммы целых степеней основания S = 2, умноженных на соответствующие коэффициенты
(0 или 1). Например, двоичное число
11011,012=1·24+1·23+0·22+1·21+1·20+0·2-1+1·2-2=16 + 8 + 2 + 1 + 0,25 =
27,2510.
Для физического представления (изображения) чисел необходимы элементы,
способные находиться в одном из нескольких устойчивых состояний. Число этих
состояний должно быть равно основанию принятой системы счисления. Тогда каждое
состояние будет представлять соответствующую цифру из алфавита данной системы
счисления. Наиболее простыми с точки зрения технической реализации являются так
называемые двухпозиционные элементы, способные находиться в одном из двух
устойчивых состояний. Примерами таких двухпозиционных элементов могут служить:
 электромагнитное реле (состояния: замкнуто или разомкнуто);
 ферромагнитная поверхность (состояния: намагничена или размагничена)
 магнитный сердечник (состояния: намагничен в одном направлении или в
противоположном);
 транзистор (состояния: проводит ток или не проводит тока).
Одно из этих устойчивых состояний может представлять цифру 0, а другое –
цифру 1.
Именно простота и обеспечила наибольшее распространение в компьютерах
двоичной системы счисления, основание которой S = 2; в ней используются лишь две
цифры: 0 и 1.
Двоичное представление числа, по сравнению с десятичным представлением,
требует большего числа разрядов (для многоразрядного числа примерно в 3,3 раза). Тем
не менее, благодаря простоте, быстродействию и дешевизне технической реализации
двухпозиционных элементов двоичная система счисления является в настоящее время
основной системой, применяемой в компьютерах для представления информации, а также
для выполнения арифметических и логических операций.
С помощью соответствующих программ десятичные числа при вводе в компьютер
преобразуются в десятичные числа, а при выводе производится обратное преобразование.
Однако при программировании и отладке программ часто приходится иметь дело с
двоичными кодами команд программы, адресов и данных. Как уже говорилось, двоичные
числа являются длинными и, кроме того, трудными для восприятия. Поэтому для
сокращенной и удобной записи двоичных чисел часто используются восьмеричная и
шестнадцатеричная системы счисления.
Файл: 446961435 Создан: 01.02.2000 Модифицирован: 15.01.2016
Автор: Алексеев Н.А.
- 17 Вычислительная техника и программирование (Информатика)
Лекция 1-01
В восьмеричной системе счисления используются восемь цифр – от 0 до 7, а
любое число представляется суммой целых степеней основания S = 8, умноженных на
соответствующие коэффициенты ai (0,1, ...,7). Например, число 21510 записывается в
восьмеричной системе счисления следующим образом:
21510 = 3·82 + 2·81 + 7·80= 3278.
В шестнадцатеричной системе счисления алфавит цифровых знаков состоит из
16 символов, причем в качестве первых десяти символов используются арабские цифры от
0 до 9, а дополнительно к ним применяются буквенные символы: 10 – A(a), 11 – В(b), 12
– С(c), 13 – D(d), 14 – Е(e), 15 – F(f).
Число 21510 в шестнадцатеричной системе счисления запишется следующим
образом:
21510 = D·161 + 7·160= D716
Существуют различные способы перевода чисел из одной системы счисления в
другую. Рассмотрим общие правила перевода из одной позиционной системы счисления в
другую.
Перевод целого числа из десятичной системы счисления в систему с
основанием S осуществляется последовательным делением его на основание S новой
системы счисления до тех пор, пока не получится частное, меньшее S. Число в новой
системе запишется в виде остатков деления, начиная с последнего.
Перевод правильной дроби (меньшей 1) из десятичной системы счисления в
систему с основанием S
осуществляется последовательным умножением ее на
основание S, при этом перемножаются только дробные части. Дробь в новой системе
счисления записывается в виде целых частей получающихся произведений, начиная с
первого.
Для перевода неправильных дробей (больших 1) необходимо выполнить отдельно
перевод целой и дробной частей.
При переводе деление и умножение выполняются в десятичной системе счисления.
Для перевода чисел из системы счисления S в десятичную систему счисления
удобнее всего воспользоваться формулой 1.1.
Так как основания восьмеричной и шестнадцатеричной систем счисления
соответствуют целым степеням числа 2 (8 = 23; 16 = 24), для них исключительно просты
правила перевода в двоичную систему счисления, и наоборот. Каждые три цифры
двоичного числа преобразуются в одну цифру восьмеричного числа справа налево (если
длина двоичного числа не кратна трем, впереди добавляется соответствующее число
нулей). При обратном преобразовании каждая цифра восьмеричного числа преобразуется
в три двоичные цифры.
Аналогично выполняются взаимные преобразования шестнадцатеричных и
двоичных чисел, за исключением того, что число двоичных цифр равно четырем.
Примеры перевода чисел из одной системы счисления в другую.
1. Перевод числа 37710 в шестнадцатеричную систему счисления:
377:16 = 23 (остаток 9); 23:16 = 1 (остаток 7); 1:16 = 0 (остаток 1).
Результат: 17916.
Перевод дроби 0,687510 в восьмеричную систему счисления:
0,6875·8 = 5,5000 (5); 0,5000·8 = 4,0000 (4).
Результат: 0,548.
3. Перевод числа FCA116 в десятичную систему счисления:
FCA116 = 15·163 + 12·162 + 10·161 +1·160 = 61440 + 3072 + 160 + 1 = 6467310.
4. Перевод числа 11111112 в шестнадцатеричную систему счисления:
Файл: 446961435 Создан: 01.02.2000 Модифицирован: 15.01.2016
Автор: Алексеев Н.А.
- 18 Вычислительная техника и программирование (Информатика)
Лекция 1-01
11111112= 0111 1111= 7F16.
5. Перевод числа 9C816 в двоичную систему счисления:
6C816= 0110 1100 1000 = 110110010002.
Арифметические операции в системе счисления S выполняются так же, как и в
десятичной системе, но необходимо учитывать, что при сложении и умножении единица
переносится в старший разряд, когда сумма или произведение чисел больше основания S,
а при вычитании в старшем разряде занимается количество единиц, также равное
основанию S.
Примеры арифметических операций над шестнадцатеричными цифрами.
1. Сложение шестнадцатеричных чисел:
12A16 + C4816 =D7216;
A16+816 = 1216; (перенос 1 в старший разряд);
216+416+1(из младшего разряда) = 716;
116+C16=D16;
2. Вычитание шестнадцатеричных чисел:
14216 – С816 = 7A16;
216 + 1016 (заем из старшего разряда) – 816 = A16;
416 -116(занято в младший разряд) +
+1016 (заем из старшего разряда) – С16 = 716;
1.2.3. Форматы представления данных
Любая информация (числа, команды, алфавитно-цифровые записи и т. п.)
представляется в компьютере в виде двоичных кодов. Отдельные элементы двоичного
кода, принимающие значения 0 или 1, называются разрядами или битами.
В старых компьютерах, рассчитанных на вычислительные задачи, минимальной
единицей информации, доступной для обработки, была ячейка. Количество разрядов в
ячейке было ориентировано на представление чисел и было различным в разных
компьютерах (24 бита, 48 бит и т.д.). Однако такой большой размер ячеек был неудобен
для представления символов, поскольку для представления символьной информации
достаточно 5-8 байт. Это дает возможность представить от 32 до 256 символов.
Поэтому минимальной единицей информации, обрабатываемой в современном
компьютере, является байт, состоящий из восьми двоичных разрядов (битов). Каждый
байт, расположенный в памяти компьютера, имеет свой адрес, который определяет его
местонахождение и задается соответствующим кодом. Адреса памяти начинаются с нуля
для первого байта и последовательно возрастают на единицу для каждого последующего.
Производными единицами от байта являются килобайт (210 байт) – сокращение
Кбайт или Кб, мегабайт (220 байт) – сокращение Мбайт или Мб, гигабайт (230 байт) –
сокращение Гбайт или Гб и терабайт (240 байт) – сокращение Тбайт или Тб.
Для представления чисел используются один или несколько последовательно
расположенных байтов. Группы байтов образуют двоичные слова, которые, в свою
очередь, могут быть как фиксированной, так и переменной длины.
Форматы данных фиксированной длины (полуслово, слово и двойное слово)
состоят соответственно из одного, двух и четырех последовательно расположенных
байтов. Обращение к этим данным производится по адресу крайнего левого байта
формата, который для слова должен быть кратен числу 2, а для двойного слова – числу 4.
Формат данных переменной длины
состоит из группы последовательно
расположенных байтов от 1 до 256. Адресация таких данных производится, как и в
форматах фиксированной длины, по адресу самого левого байта.
Файл: 446961435 Создан: 01.02.2000 Модифицирован: 15.01.2016
Автор: Алексеев Н.А.
- 19 Вычислительная техника и программирование (Информатика)
Лекция 1-01
В зависимости от характера информации используются форматы представления
данных как фиксированной, так и переменной длины. Так, в форматах данных
фиксированной длины обычно представляются двоичные числа, команды и некоторые
логические данные, а в форматах данных переменной длины – десятичные числа,
алфавитно-цифровая и некоторая логическая информация.
В современных компьютерах применяются две формы представления чисел: с
фиксированной точкой (запятой) и с плавающей точкой (запятой). Эти формы, кроме того,
называются соответственно естественной и полулогарифмической.
При представлении чисел с фиксированной точкой положение точки
фиксируется в определенном месте относительно разрядов числа. В первых компьютерах
точка фиксировалась перед старшим разрядом числа, поэтому представленные числа по
абсолютной величине были меньше единицы. В современных компьютерах точку
фиксируют справа от самого младшего разряда и поэтому могут быть представлены
только целые числа. При этом используются два варианта представления целых чисел: со
знаком и без знака.
Для числа со знаком крайний слева разряд отводится под знак числа. В этом
разряде записывается нуль для положительных чисел и единица – для отрицательных
чисел. Числа без знака занимают все разряды числа, т.е. числа могут быть только
положительными. Нумерация разрядов числа обычно ведется справа налево.
В компьютерах числа с фиксированной точкой имеют три основных формата –
один байт (полуслово), 16-разрядное слово (короткий формат) и 32-разрядное двойное
слово (длинный формат).
На рис. 2.3 приведены форматы представления чисел с фиксированной точкой со
знаком и без знака длиной в полуслово (числа короткого и длинного формата имеют
аналогичной представление).
а)
б)
Рис. 2.3. Представление числа с фиксированной точкой длиной в полуслово:
а) со знаком; б) без знака
Следует отметить, что интерпретацию числа с фиксированной точкой как числа со
знаком или без знака должна выполнять программа обработки этих чисел. Так, число
011100112 = 7316 будет иметь десятичное значение 11510 и как число со знаком и как
число без знака. Однако число 111011012 = ED16 будет иметь десятичное значение 10910 как число со знаком и 23710 – как число без знака.
Диапазон изменения чисел c фиксированной точкой со знаком X составляет:
-2n-1  X  2n-1 - 1,
а чисел без знака:
0  X  2n - 1.
где n – разрядность числа. Так, для n=8 диапазон изменения чисел со знаком – от -12810
до +12710, а чисел без знака – от 010 до 25510.
Для представления чисел, не укладывающихся в диапазон двойного слова, в
современных компьютерах можно использовать два варианта:
 введение и обработка чисел произвольной длины (например, 8 или 10 байт);
 использование масштабных коэффициентов.
Файл: 446961435 Создан: 01.02.2000 Модифицирован: 15.01.2016
Автор: Алексеев Н.А.
- 20 Вычислительная техника и программирование (Информатика)
Лекция 1-01
И в том, и в другом варианте время выполнения операций над числами
существенно увеличиваются (в первом варианте из-за большой длины числа, во втором –
из-за необходимости вручную отслеживать положение десятичной точки в числе).
Другим недостатком является то, что для представления чисел с фиксированной
точкой относительная точность выполняемых расчетов зависит от величины чисел и
является максимальной при выполнении операций с максимально возможными числами.
В связи с этим, наряду с представлением чисел с фиксированной точкой, в
современных компьютерах используется также форма
представления чисел с
плавающей точкой.
Любое число N, представляемое в форме с плавающей точкой, является
произведением двух сомножителей:
N = mSp,
где m – мантисса числа N (|m|<1), S – основание системы счисления; р – целочисленный
порядок. С изменением порядка в ту или иную сторону точка как бы “плавает” в
изображении числа.
Примером записи десятичного числа в форме с плавающей точкой является так
называемая экспоненциальная форма записи, например:
0,351012 или -0,156310-12
Следовательно, при представлении чисел с плавающей точкой необходимо
записать в компьютер со своими знаками мантиссу m и порядок р. И мантисса и порядок
записываются в двоичном виде, т.е. со значением S =2. Знак числа при этом совпадает со
знаком мантиссы.
Чтобы упростить операции над порядками, их сводят к действиям над целыми
положительными числами путем использования так называемого смещенного порядка,
который всегда положителен. Смещенный порядок pсм образуется прибавлением к
порядку р числа 2n+1 (где n – количество бит , отводимое под порядок). Например, для
n=7 pсм = p + 64 и порядок будет принимать значения от 0 (при p = -64) до 127 (при p
= 63). В этом случае, если p=-15, смещенный порядок будет равен: pсм = -15 +64 = 49.
Число разрядов, выделенных для изображения порядков, определяет диапазон
представимых в компьютере чисел с плавающей точкой. Кроме того, большое значение
имеет точность представления чисел, которая повышается с увеличением числа разрядов
мантиссы.
Поэтому с учетом различных требований, предъявляемых к точности решения
задач, в компьютерах обычно используются несколько форматов. В компьютерах типа
IBM PC для представления значений с плавающей точкой используется стандартный
формат IEEE (Institute of Electrical and Electronics Engineers), определяющий три формы
задания чисел: обычный, двойной точности и длинный.
Обычный формат занимает двойное слово (32 бита), состоящих: из бита
знака, 7-битового двоичного порядка и 24-битовой мантиссы, представляющей число в
диапазоне от 1.0 до 2.0 (рис. 2.4). Поскольку старший бит мантиссы всегда равен 1, он не
хранится в памяти. Это представление дает 7 значащих цифр и область значений
приблизительно от 3.4·10-38 до 3.4·10+38.
Файл: 446961435 Создан: 01.02.2000 Модифицирован: 15.01.2016
Автор: Алексеев Н.А.
- 21 Вычислительная техника и программирование (Информатика)
Лекция 1-01
Рис. 2.4. Представление числа с плавающей точкой обычного формата
Формат двойной точности занимает двойное слово (64 бита). Этот формат
аналогичен короткому формату, за исключением того, что порядок занимает 11 бит, а
мантисса – 52 бита (плюс неявный старший единичный бит). Это представление дает 15
значащих цифр и область значений приблизительно от 1.7·10-308 до 1.7·10+308.
Длинный формат занимает 10 байт (80 бит). Его представление аналогично
представлению чисел с двойной точности, за исключение того, что мантисса занимает 68
бит. Количество значащих цифр для этого формата – 19, а диапазон значений –
приблизительно от 3.4·10-4932 до 1.1·10+4932.
Третья форма представления чисел в компьютерах – это двоично-десятичная
форма. В этой форме каждая цифра десятичного числа хранится в четырех битах, т.е. две
цифры на байт. Цифры от 0 до 9 представлены двоичными кодами от 0000 до 1001.
Двоичные значения 1100 и 1101 используются соответственно для знака «+» и знака «-».
Положение десятичной точки в этом случае фиксируется и отслеживается программными
средствами. Пример: -14210 = 1101 0001 0100 0010. Для этой формы представления
чисел, так же, как и для чисел с фиксированной и плавающей точкой, определены
арифметические операции. Однако данная форма представления чисел в настоящее время
используется крайне редко, в основном, при обработке больших массивов десятичных
чисел.
Для упрощения арифметических операций числа в компьютере представляются
специальными кодами – прямым, обратным и дополнительным. При помощи этих кодов
операция вычитания (или алгебраического сложения) сводится к арифметическому
сложению, упрощается определение знака результата операции, а также облегчается
выработка признаков переполнения результата (когда в результате арифметических
операций число становится больше максимально допустимого для данной формы
значения).
Прямой код двоичного числа содержит цифровые разряды, слева от которых
записывается знаковый разряд. Сложение в прямом коде чисел, имеющих одинаковые
знаки, выполняется достаточно просто. Цифровые разряды чисел складываются по
правилам арифметики и сумме присваивается код знака слагаемых. Значительно сложнее
реализуется в прямом коде операция алгебраического сложения, т. е. сложения чисел,
имеющих разные знаки. В этом случае приходится определять большее по модулю число,
производить вычитание чисел и присваивать разности знак большего по модулю числа.
Данная операция сводится к простому арифметическому сложению при помощи
обратного или дополнительного кода, которыми представляются отрицательные числа.
Обратный код отрицательного числа получается по следующему правилу: в
знаковый разряд числа записывается единица, в цифровых разрядах нули заменяются
единицами, а единицы – нулями.
Дополнительный код отрицательного числа
получается из обратного кода
путем прибавления единицы к младшему разряду.
Представление отрицательного числа -10910 в прямом коде и его преобразование в
обратный и дополнительный код показано на рис. 2.5.
Файл: 446961435 Создан: 01.02.2000 Модифицирован: 15.01.2016
Автор: Алексеев Н.А.
- 22 Вычислительная техника и программирование (Информатика)
Лекция 1-01
Рис. 2.5. Представление отрицательного числа в прямом,
обратном и дополнительном кодах
При использовании обратного или дополнительного кода операция
алгебраического сложения сводится к простому арифметическому сложению. При этом
положительные числа представляются в прямом коде, а отрицательные – в обратном или
дополнительном коде. Затем производится арифметическое суммирование этих кодов,
включая знаковые разряды, которые при этом рассматриваются как старшие. При
использовании обратного кода возникающая единица переноса из знакового разряда
циклически прибавляется к младшему разряду суммы кодов, а при использовании
дополнительного кода эта единица отбрасывается.
Как уже говорилось, компьютеры могут обрабатывать только информацию,
представленную в числовой форме. При вводе документов, текстов программ и т.д.
вводимые буквы кодируются определенными числами, а при выводе их для чтения
человеком (на монитор, принтер и т.д.) по каждому числу (коду символа) строится
изображение символа. Соответствие между набором символов и их кодами называется
кодировкой символов.
Как правило, код символа хранится в одном байте. Код символа рассматривается
как число без знака и, следовательно, может принимать значения в диапазоне от 0 до 255.
Такие кодировки называются однобайтными, они позволяют использовать до 256
различных символов. В настоящее время все большее распространение получает
двухбайтовая кодировка Unicode, в которой коды символов могут принимать значения от
1 до 65535. В этой кодировке имеются номера для практически всех применяемых
символов (буквы и иероглифы различных языков, математические, декоративные символы
и т.д.).
Кодировка символов, как правило, определяется используемой операционной
системой или программной оболочкой, поэтому кодировки, используемые в MS DOS и
Windows, будут рассмотрены при изучении этих систем.
В целом, наличие в современных компьютерах различных форм и форматов
представления чисел позволяет выбирать те из них, которые в наибольшей степени
отвечают требованиям решаемых задач.
Файл: 446961435 Создан: 01.02.2000 Модифицирован: 15.01.2016
Автор: Алексеев Н.А.
Download