Различают две формы представления
информации — непрерывную (аналоговую)
и прерывистую (цифровую, дискретную).
Непрерывная форма характеризует
процесс, который не имеет перерывов и
теоретически может изменяться в любой
момент времени и на любую величину
(например, речь человека, музыкальное
произведение). Цифровой сигнал может
изменяться лишь в определенные моменты
времени и принимать лишь заранее
обусловленные значения (например,
только значения напряжений 0 и 3,5 В).
Моменты возможного изменения уровня
цифрового сигнала задает тактовый
генератор конкретного цифрового
устройства.
Для преобразования аналогового
сигнала в цифровой сигнал требуется
провести дискретизацию непрерывного
сигнала во времени, квантование по
уровню, а затем кодирование отобранных
значений.
Дискретизация — замена
непрерывного (аналогового) сигнала
последовательностью отдельных во
времени отсчетов этого сигнала. Наиболее
распространена равномерная дискретизация,
в основе которой лежит теорема
Котельникова.
Структурная
схема ЭВМ.
АЛУ
— арифметико-логическое устройство.
Программное обеспечение
ЭВМ.
Программное
обеспечение условно можно разделить
на 3 класса: системное ПО, прикладное
ПО и инструментальное ПО.
Системное программное
обеспечение, в свою очередь, состоит
из базового ПО и сервисного ПО.
Базовое ПО поставляется
вместе с компьютером и обеспечивает
его работоспособность. В состав базового
ПО входит операционная система,
операционная оболочка и сетевые
программные средства.
Операционная система
предназначена:
для запуска и нормальной
работы компьютера,
для функционирования
других программ на компьютере,
для диагностики и
контроля работоспособности блоков и
узлов компьютера,
для выполнения других
вспомогательных технологических
процессов.
В настоящее время
разработано большое количество ОС,
различающихся по возможностям их
функционирования: в режимах: одно- и
многопользовательских, одно- и
многозадачных, поддерживающих сетевые
режимы и др. Широкое применение нашли
следующие ОС: Windows, Linux, Mac OS, NetWare, OS/2,
Solaris, QNX, MS DOS и др.
Оболочка ОС предназначена
для комфортного общения пользователя
с ЭВМ. Она снимает проблему управления
компьютером с помощью набора команд в
командной строке и их запуска на
исполнение. Оболочка ОС реализует
текстовый или/и графический интерфейс.
Например, в ОС MS DOS в качестве такой
надстройки выступает программа-оболочка
Norton Commander, реализующая текстовый
интерфейс в виде двух таблиц с директориями
файловой системы, а в ОС Windows (и Mac OS)
интерфейс оболочки - графический;
имеется также текстовый интерфейс,
реализуемый программой Windows Commander.
Сетевая ОС обеспечивает
работу компьютера в сети и поддерживает
все сетевые службы - электронную почту,
обмен файлами, доступ к сайтам, общение
между клиентами через Интернет и пр.
Сервисное ПО расширяет
возможности компьютера и может
приобретаться за отдельную плату или
в последующем поставляться через
Интернет (для зарегистрированных
пользователей).
В настоящее время такие
известные операционные системы как
Windows XP, MAC OS и некоторые другие включают
в себя все вышеперечисленные компоненты
системного ПО, являясь по существу
комплексным системным ПО.
Прикладное программное
обеспечение предназначено для решения
различных задач из конкретных предметных
областей.
ПО общего назначения
обычно комплектуется в пакетном
варианте. Например, для ОС Windows имеется
пакет прикладных программ Microsoft Office,
включающий программные средства для
создания текстовых документов (Word),
электронных таблиц (Excel), презентаций
(Power Point), публикаций (Publisher), базы данных
(Access), для подготовки и редактирования
Web-документов (FrontPage).
В этот пакет также
входит ряд дополнительных программных
средств: Picture Manager для просмотра,
систематизации и редактирования
графики, Document Imaging для просмотра, чтения
и распознавания текста в графических
документах и факсах, Document Scanning для
сканирования многостраничных документов
и распознавания текста в графических
документах, файл библиотеки картинок
и др.
ПО мультимедиа
предназначено для создания и использования
двумерной и трёхмерной графики, анимации,
аудио и видео файлов. Представителями
этих ПО являются широко известные
программные комплексы Adobe Photoshop для
создания и редактирования двумерной
графики, 3D Studio Max для трёхмерного
моделирования и проектирования,
Macromedia Flash для анимации и мультипликации.
Для обработки и редактирования звука
используются популярные программы
Nero, Audio Editor Gold, для воспроизведения звука
и видео Windows Media Player, QuickTime Player и др.
Проблемно-ориентированное
ПО пожалуй самый распространённый
подкласс прикладных программных
средств. Сюда относятся пакеты программ
для управления производством, ведения
бухгалтерского учёта, управления
кадрами, управления материальными
ценностями и др.
Большой спектр прикладных
программ разработан в качестве
информационных систем (см. "Информатика
и информация"), куда относятся и
информационно-поисковые, и издательские
и прочие системы.
Инструментальное
программное обеспечение предназначено
для разработки новых программ и
программных комплексов.
Множество различных
приложений на компьютере создаётся с
помощью языков и систем программирования.
Язык программирования
- это формализованный язык описания
алгоритмов, используемых для решения
различных задач на компьютере.
В процессе становления
и развития вычислительной техники
возникали и развивались также языки
программирования. Некоторые из них
затем изменялись, трансформировались,
интегрировались с другими, некоторые
умирали вовсе. Сейчас у программистов
имеется богатый арсенал языков
программирования на все случаи
программистской жизни: Assembler, Basic, C++,
Delphi, Fortran, Java, Pascal, и др. Каждый из
перечисленных языков программирования
имеет целый ряд модификаций (например,
Basic, Q-Basic, Visual Basic и др.), которые по
возможностям и свойствам существенно
отличаются друг от друга.
Языки программирования
можно разделить на машинно-зависимые
(низкого уровня) и машинно-независимые
(высокого уровня).
К языкам низкого уровня
относятся:
машинные языки,
написанные в двоичных кодах в виде
нулей и единиц,
машинно-ориентированные
языки (ассемблеры), написанные в так
называемых мнемокодах, заложенных в
систему команд конкретного процессора
(например, мнемокод сложить записан
как ADD, мнемокод очистить как DEL и т.д.).
К языкам высокого
уровня относятся:
алгоритмические языки
- переводят алгоритмы с языка математики
на язык программных кодов,
процедурно - ориентированные
языки позволяют записать программу в
виде набора процедур,
проблемно-ориентированные
языки предназначены для решения
определённого класса задач.
Программа, написанная
на языке высокого уровня, не может
непосредственно использоваться на
компьютере. Она должна пройти этап
трансляции исходного кода, записанного
на языке высокого уровня, в объектный
код, который затем с помощью редактора
связей формирует загрузочный модуль,
пригодный для запуска на компьютере.
Такой процесс осуществляется, например,
при написании программы на языке Фортран
и называется компилированием.
В других языках высокого
уровня (например, на Бэйсике) трансляция
исходного кода в исполняемый происходит
последовательно с каждой командой
(оператором). Такая трансляция
осуществляется программой-интерпретатором.
Созданная программа
должна пройти проверку на пригодность
к использованию с помощью отладчика
программ. Он позволяет отслеживать
последовательное исполнение программы,
выявлять места и виды ошибок в программе,
давать комментарии.
Система программирования
состоит из:
языковых средств
разработчика программ,
компилятора,
редактора связей,
отладчика,
оптимизатора кода
программ,
набора библиотек,
справочной системы и
др.
Интегрированные среды
программирования включают весь набор
средств для комплексного их применения
на всех технологических этапах разработки
программ. Основное назначение такого
инструментария состоит в том, чтобы с
его помощью повысить производительность
и эффективность труда программистов.
Программные комплексы
используются при разработке сложных
прикладных информационных систем. Они
позволяют автоматизировать весь
технологический процесс анализа,
проектирования, разработки, отладки и
сопровождения проекта целиком.
Классификация ЭВМ по назначению.
По назначению ЭВМ можно
разделить на три группы: универсальные
(общего назначения), проблемно-ориентированные
и специализированные.
Универсальные ЭВМ
предназначены для решения самых
различных видов задач: научных,
инженерно-технических, экономических,
информационных, управленческих и других
задач. В качестве универсальных ЭВМ
используются различные типы компьютеров,
начиная от супер-ЭВМ и кончая персональными
ЭВМ. Решаемые на этих компьютерах задачи
отличаются сложностью алгоритмов и
объемами обрабатываемых данных. Причем
одни универсальные ЭВМ могут работать
в многопользовательском режиме (в
вычислительных центрах коллективного
пользования, в локальных компьютерных
сетях и т.д.), другие - в однопользовательском
режиме.
Проблемно-ориентированные
ЭВМ служат для решения более узкого
круга задач, связанных, как правило, с
управлением технологическими объектами;
регистрацией, накоплением и обработкой
относительно небольших объемов данных;
выполнением расчетов по относительно
несложным алгоритмам. На
проблемно-ориентированных ЭВМ, в
частности, создаются всевозможные
управляющие вычислительные комплексы.
Специализированные ЭВМ
используются для решения еще более
узкого круга задач или реализации
строго определенной группы функций.
Такая узкая ориентация ЭВМ позволяет
четко специализировать их структуру,
во многих случаях существенно снизить
их сложность и стоимость при сохранении
высокой производительности и надежности
их работы.
Основные характеристики ЭВМ. Одной
из важнейших характеристик ЭВМ является
ее быстродействие,
которое характеризуется числом
команд, выполняемых ЭВМ за одну
секунду. Быстродействия используют
связанную с ней характеристику
производительности
-объем работ, осуществляемых
ЭВМ в единицу времени. Другой важнейшей
характеристикой ЭВМ является емкость
запоминающих устройств.
Емкость памяти измеряется количеством
структурных единиц информации, которое
может одновременно находиться в памяти.
Этот показатель позволяет определить,
какой набор программ и данных может
быть одновременно размещен в
памяти. Надежность
- это способность ЭВМ при
определенных условиях выполнять
требуемые функции в течение заданного
периода времени. Точность
- возможность различать почти
равные значения. Достоверность
- свойство информации быть
правильно воспринятой. Достоверность
характеризуется вероятностью получения
безошибочных результатов. Заданный
уровень достоверности обеспечивается
аппаратно-программными средствами
контроля самой ЭВМ.
Режимы работы ЭВМ. Режим
непосредственного доступа.
Самым простым и естественным
является одно программный режим
непосредственного доступа. Этот режим
работы первых ЭВМ. Он предусматривает
отсутствие операционных систем и доступ
пользователя к средствам управления
и индикации. Режим одно программной
пакетной обработки.
На смену этого режима пришел
режим одно программной пакетной
обработки. Этот режим предусматривал
отсутствие пользователя, как причины
замедления работы ЭВМ. В качестве
компенсации присутствия пользователя
используется резидентная программа –
диспетчер, для которой пользователи
пишут программу. Режим мультипрограммной
пакетной обработки.
При обработке программ в одно
программном пакете работают, поочередно,
две системы: процессор и система ввода
вывода. Организация их параллельной
работы является резервом повышения
производительности ЭВМ. Но для этого
требуется многопрограммная пакетная
обработка.
Это режим мультипрограммной
пакетной обработки или "режим
классического мультипрограммирования".
Цель режима – минимизация
простоев процессора при обработке
пакета программ. Режим коллективного
доступа .
Это режим совмещение двух
режимов – разделения времени и
непосредственного доступа.
Это возврат к непосредственному
доступу, но с сохранением пакетной
обработки. В систему добавляются
терминалы (устройство ввода, например,
клавиатура, и вывода, например, дисплей)
и системная резидентная программа
обслуживания терминалов, как задача с
наивысшим уровнем приоритета.
Режим коллективного доступа
строится с использованием терминалов
на основе режима классического
программирования. Режим клиент
сервер. "клиент- сервер" – это
название не только режима, но и способа
программирования. При работе в режиме
клиент-сервер программа состоит из
двух взаимодействующих программ –
программы клиент и программы сервер.
Программа "клиент" ставится
на рабочем месте оператора (пользователя),
а программа "сервер" на одном из
серверов.
Программа "клиент" выполняет
функции посредника между пользователем
и сервером. Программа сервер – это
целевая программа обработки данных.
Программа клиент принимает от
оператора задание, определяет
соответствующий сервер, передает ему
задание пользователя, принимает решение
задачи от сервера и отображает его на
экране в форме удобной для восприятия
пользователем.
Арифметические основы ЭВМ. Представление
информации в компьютере
Компьютер может обрабатывать
только информацию, представленную в
числовой форме. Вся остальная информация
(например, звук, видео, графические
изображения и т.д.) перед обработкой на
компьютере должна быть преобразована
в числовую форму. Так, чтобы привести
к цифровому виду (оцифровать) музыкальный
звук, можно через небольшие промежутки
времени измерять интенсивность звука
на определенных частотах, представляя
результаты каждого измерения в числовой
форме. Затем, с помощью специальной
компьютерной программы осуществляются
необходимые преобразования полученных
данных: наложение звуков от различных
источников друг на друга (эффект
оркестра), изменение тональности
отдельных звуков и т.п. После чего,
окончательный результат преобразуется
обратно в звуковую форму. Системы
счисления
Система счисления -- это способ
записи чисел с помощью заданного набора
специальных знаков (цифр).
Двоичная система счисления. В
этой системе всего две цифры - 0 и 1.
Особую роль здесь играет число 2 и его
степени: 2, 4, 8 и т.д. Самая правая цифра
числа показывает число единиц, следующая
цифра - число двоек, следующая - число
четверок и т.д. Двоичная система счисления
позволяет закодировать любое натуральное
число - представить его в виде
последовательности нулей и единиц. В
двоичном виде можно представлять не
только числа, но и любую другую информацию:
тексты, картинки, фильмы и аудиозаписи.
Инженеров двоичное кодирование
привлекает тем, что легко реализуется
технически.
Позиционные системы счисления,
применяемые в ЭВМ. В позиционных
системах счисления вес каждой цифры
изменяется в зависимости от ее положения
(позиции) в последовательности цифр,
изображающих число. Например, в числе
757,7 первая семерка означает 7 сотен,
вторая - 7 единиц, а третья - 7 десятых
долей единицы.
Сама же запись числа 757,7 означает
сокращенную запись выражения
Любая позиционная система
счисления характеризуется своим
основанием.
Основание позиционной системы
счисления -- это количество различных
знаков или символов, используемых для
изображения цифр в данной системе. За
основание системы можно принять любое
натуральное число -- два, три, четыре и
т.д. Следовательно, возможно бесчисленное
множество позиционных систем: двоичная,
троичная, четверичная и т.д. Запись
чисел в каждой из систем счисления с
основанием q означает сокращенную
запись выражения
где ai - цифры системы счисления;
n и m - число целых и дробных разрядов,
соответственно.
Арифметические операции на двоичными
числами. При сложении столбиком
двух цифр справа налево в двоичной
системе счисления, как в любой позиционной
системе, в следующий разряд может
переходить только единица.
Результат сложения двух
положительных чисел имеет либо столько
же цифр, сколько у максимального из
двух слагаемых, либо на одну цифру
больше, но этой цифрой может быть только
единица. При выполнении операции
вычитания всегда из большего по
абсолютной величине числа вычитается
меньшее и у результата ставится
соответствующий знак. Операция
умножения выполняется с использованием
таблицы умножения по обычной схеме
(применяемой в десятичной системе
счисления) с последовательным умножением
множимого на очередную цифру множителя.
При выполнении умножения в
примере 2 складываются три единицы
1+1+1=11 в соответствующем разряде пишется
1, а другая единица переносится в старший
разряд.
В двоичной системе счисления
операция умножения сводится к сдвигам
множимого и сложению промежуточных
результатов. Операция деления
выполняется по алгоритму, подобному
алгоритму выполнения операции деления
в десятичной системе счисления.
Восьмеричная система счисления. Восьмеричная
система счисления — позиционная
целочисленная система счисления с
основанием 8. Для представления чисел
в ней используются цифры 0 до 7.
Восьмеричная система часто
используется в областях, связанных с
цифровыми устройствами. Характеризуется
лёгким переводом восьмеричных чисел
в двоичные и обратно, путём замены
восьмеричных чисел на триплеты двоичных.
Ранее широко использовалась в
программировании и вообще компьютерной
документации, однако в настоящее время
почти полностью вытеснена шестнадцатеричной.
Шестнадцатеричная система
счисления. Шестнадцатеричная
система счисления (шестнадцатеричные
числа) — позиционная система счисления
по целочисленному основанию 16. Обычно
в качестве шестнадцатеричных цифр
используются десятичные цифры от 0 до
9 и латинские буквы от A до F для обозначения
цифр от 1010 до 1510, то есть (0, 1, 2, 3, 4, 5, 6, 7,
8, 9, A, B, C, D, E, F). Широко используется в
низкоуровневом программировании и
вообще в компьютерной документации,
поскольку в современных компьютерах
минимальной единицей памяти является
8-битный байт, значения которого удобно
записывать двумя шестнадцатеричными
цифрами. Такое использование началось
с системы IBM/360, где вся документация
использовала шестнадцатеричную систему,
в то время как в документации других
компьютерных систем того времени (даже
с 8-битными символами, как, например,
PDP-11 или БЭСМ-6) использовали восьмеричную
систему.
Перевод чисел из одной системы в
другую. Если число в b-ричной системе
счисления равно
то для перевода в десятичную систему
вычисляем такую сумму:
или, в более наглядном виде:
Перевод
правильных дробей. Дробь переводим
умножая его на основание системы. (2)
Умножать нужно сколько это
будет нужно, например 4 раза если d=4
(точность вычислений) если в одном
из действий получилась целое число, в
следующем мы берем тоже число без
единицы.
Перевод смешанных чисел. Сначала
переводим целое число обыкновенным
способом, затем дробное. В конце
складываем.
Перевод чисел из восьмеричной и
обратно. Для этого типа операций
существует упрощённый алгоритм.
Для восьмеричной — разбиваем
переводимое число на количество цифр,
равное степени 2 (2 возводится в ту
степень, которая требуется, чтобы
получить основание системы, в которую
требуется перевести (2³=8), в данном
случае 3, то есть триад). Преобразуем
триады по таблице триад: 000 -0 |100
-4
001 -1 |101- 5
010- 2 |110- 6
011 -3 |111 -7
Для восьмеричной — преобразуем
по таблице в триплеты
0- 000 4 -100
1- 001 5 -101
2 -010 6 -110
3 -011 7- 111
Перевод из 16ричной в 2чною и
обратно. Тетрады: 0000 0 0100 4 1000 8 1100
C
0001 1 0101 5 1001 9 1101 D
0010 2 0110 6 1010 A 1110 E
0011 3 0111 7 1011 B 1111 F квартеты: 0
0000 4 0100 8 1000 C 1100
1 0001 5 0101 9 1001 D 1101
2 0010 6 0110 A 1010 E 1110
3 0011 7 0111 B 1011 F 1111
Перевод из 10ой в 2ую с промежуточным
переводом в 8ю или 16ю. Целая часть
Последовательно делить целую
часть десятичного числа на основание,
пока десятичное число не станет равно
нулю.
Полученные при делении остатки
являются цифрами нужного числа. Число
в новой системе записывают, начиная с
последнего остатка.
Дробная часть
Дробную часть десятичного числа
умножаем на основание системы, в которую
требуется перевести. Отделяем целую
часть. Продолжаем умножать дробную
часть на основание новой системы, пока
она не станет равной 0.
Число в новой системе составляют
целые части результатов умножения в
порядке, соответствующем их получению
Перевод из 2ой в 10ую систему
счисления. Рассмотрим пример
перевода двоичного числа 1100,0112 в
десятичное. Целая часть 1011002 =
= 32 + 8 + 4 + 0 = 4410 этого числа равна
12 (см. выше), а вот перевод дробной части
рассмотрим подробнее:
Итак,
число 1100,0112 = 12,37510.
Точно также осуществляется
перевод из любой системы счисления,
только вместо «2» ставится основание
системы.
Для удобства перевода, целую и
дробную части числа переводят отдельно,
а результат потом суммируют.
Форматы представления данных и
расположение их в оперативной памяти
машины. Для представления информации
в памяти ЭВМ (как числовой так и не
числовой) используется двоичный способ
кодирования.
Элементарная ячейка памяти ЭВМ
имеет длину 8 бит (1 байт). Каждый байт
имеет свой номер (его называют адресом).
Наибольшую последовательность бит,
которую ЭВМ может обрабатывать как
единое целое, называют машинным словом.
Длина машинного слова зависит от
разрядности процессора и может быть
равной 16, 32 битам и т.д.
Для кодирования символов
достаточно одного байта. При этом можно
представить 256 символов (с десятичными
кодами от 0 до 255). Набор символов
персональных компьютеров чаще всего
является расширением кода ASCII (American
Standart Code of Information Interchange - стандартный
американский код для обмена информацией).
В некоторых случаях при
представлении в памяти ЭВМ чисел
используется смешанная двоично-десятичная
система счисления, где для хранения
каждого десятичного знак нужен полубайт
(4 бита) и десятичные цифры от 0 до 9
представляются соответствующими
двоичными числами от 0000 до 1001. Например,
упакованный десятичный формат,
предназначенный для хранения целых
чисел с 18-ю значащими цифрами и занимающий
в памяти 10 байт (старший из которых
знаковый), использует именно этот
вариант.
Другой способ представления
целых чисел - дополнительный код.
Диапазон значений величин зависит от
количества бит памяти отведенных для
их хранения. Например, величины типа
Integer лежат в диапазоне от
-32768 (-215) до 32677 (215-1) и для их
хранения отводится 2 байта: типа LongInt -
в диапазоне от -231 до 231-1 и размещаются
в 4 байтах: типа Word - в диапазоне от 0 до
65535 (216-1) используется 2 байта и т.д.
Как видно из примеров, данные
могут быть интерпретированы как числа
со знаком, так и без знаков. В случае
представления величины со знаком самый
левый (старший) разряд указывает на
положительное число, если содержит
нуль, и на отрицательное, если - единицу.
Вообще, разряды нумеруются
справа налево, начиная с нуля.
Дополнительный код положительного
числа совпадает с его прямым кодом.
Прямой код целого числа может быть
представлен следующим образом: число
переводиться в двоичную систему
счисления, а затем его двоичную запись
слева дополняют таким количеством
незначащих нулей, сколько требует тип
данных, к которому принадлежит число.
Например, если число 37(10) = 100101(2) объявлено
величиной типа Integer, то его прямым кодом
будет 0000000000100101, а если величиной типа
LongInt, то его прямой код будет
00000000000000000000000000100101. Для более компактной
записи чаще используют шестнадцатеричный
код. Полученные коды можно переписать
соответственно как 0025(16) и 00000025(16).
Дополнительный код целого
отрицательного числа может быть получен
по следующему алгоритму:
записать прямой код модуля
числа;
инвертировать его (заменить
единицы нулями, нули - единицами);
прибавить к инверсионному коду
единицу.
Например, запишем дополнительный
код числа -37, интерпретируя его как
величину типа LongInt:
прямой код числа 37 есть
000000000000000000000000000100101
инверсный код
11111111111111111111111111011010
дополнительный код
11111111111111111111111111011011 или FFFFFFDB(16)
При получении по дополнительному
коду числа, прежде всего, необходимо
определить его знак. Если число окажется
положительным, то просто перевести его
код в десятичную систему исчисления.
В случае отрицательного числа необходимо
выполнить следующий алгоритм:
вычесть из кода 1;
инвертировать код;
перевести в десятичную систему
счисления. Полученное число записать
со знаком минус.
Примеры. Запишем числа,
соответствующие дополнительным кодам:
0000000000010111.
Поскольку в старшем разряде
записан нуль, то результат будет
положительным. Это код числа 23.
1111111111000000.
Здесь записан код отрицательного
числа, исполняем алгоритм:
1111111111000000(2) - 1(2) = 1111111110111111(2);
0000000001000000; 1000000(2) = 64(10)
Ответ: -64
Несколько иной способ применяется
для представления в памяти персонального
компьютера действительных чисел.
Рассмотрим представление величин с
плавающей точкой.
Любое действительное число
можно записать в стандартном виде
M*10p, где 1 ≤ M < 10, р- целое число. Например,
120100000 = 1,201*108. Поскольку каждая позиция
десятичного числа отличается от соседней
на степень числа 10, умножение на 10
эквивалентно сдвигу десятичной запятой
на 1 позицию вправо. Аналогично деление
на 10 сдвигает десятичную запятую на
позицию влево. Поэтому приведенный
выше пример можно продолжить: 120100000 =
1,201*108 = 0,1201*109 = 12,01*107... Десятичная запятая
плавает в числе и больше не помечает
абсолютное место между целой и дробной
частями.
В приведённой выше записи М
называют мантиссой числа, а р - его
порядком. Для того чтобы сохранить
максимальную точность, вычислительные
машины почти всегда хранят мантиссу в
нормализованном виде, что означает,
что мантисса в данном случае есть число,
лежащее между 1(10) и 2(10) (1 ≤ М < 2). Основные
системы счисления здесь, как уже
отмечалось выше,- 2. Способ хранения
мантиссы с плавающей точкой подразумевает,
что двоичная запятая находится на
фиксированном месте. Фактически
подразумевается, что двоичная запятая
следует после первой двоичной цифры,
т.е. нормализация мантиссы делает
единичным первый бит, помещая тем самым
значение между единицей и двойкой.
Место, отводимое для числа с плавающей
точкой, делится на два поля. Одно поле
содержит знак и значение мантиссы, а
другое содержит знак и значение порядка.
В общем случае фиксированная
точка (естественная форма представления
чисел) характеризуется значением m (m =
соnst). В этом случае для всех чисел, с
которыми оперирует машина, положение
точки постоянно. Можно увидеть, что при
m = 0 все числа, с которыми оперирует
машина, меньше 1 и представлены в виде
правильных дробей.
В формате с
фиксированной точкой разрядная сетка
имеет n + 1 разряд:
+xmax+
= 0.111...1 - 2n
+xmin+ = 0.000...1 * 2n
0 T +x+ T 1 - 2n
При использовании чисел с
фиксированной точкой может возникнуть
переполнение. Число с фиксированной
запятой (вики)— формат представления
вещественного числа в памяти ЭВМ в виде
целого числа. При этом само число x и
его целочисленное представление x′
связаны формулой
где
z — цена (вес) младшего разряда.
Простейший пример арифметики
с фиксированной запятой — перевод
рублей в копейки. В таком случае, чтобы
запомнить сумму 12 рублей 34 копейки, мы
записываем в ячейку памяти число 1234.
В
случае, если z < 1, для удобства расчётов
делают, чтобы целые числа кодировались
без погрешности. Другими словами,
выбирают целое число u (машинную единицу)
и принимают . В случае, если z > 1, его
делают целым.
Если не требуется, чтобы
какие-либо конкретные дробные числа
входили в разрядную сетку, программисты
обычно выбирают z = 2 − f — это позволяет
использовать в операциях умножения и
деления битовые сдвиги. Про такую
арифметику говорят: «f битов на дробную
часть, i=n−f — на целую» и обозначают
как «i,f» или «i.f». Например: арифметика
8,24 отводит на целую часть 8 битов и 24 —
на дробную. Соответственно, она способна
хранить числа от −128 до 128−z с ценой
(весом) младшего разряда .
Для
угловых величин зачастую делают
(особенно если тригонометрические
функции вычисляются по таблице).
Представление
чисел в форме с плавающей точкой. Такое
представление числа соответствует
нормальной форме записи:
При использовании формата с
плавающей точкой пользуются понятием
нормализованного представления
чисел Нормализованным числом
называется число, мантисса которого
удовлетворяет следующим неравенствам:
lm - длина поля
мантиссы вики: Число
с плавающей запятой состоит из:
Мантиссы (выражающей значение
числа без учёта порядка)
Знака мантиссы (указывающего
на отрицательность или положительность
числа)
Порядка (выражающего степень
основания числа, на которое умножается
мантисса)
Знака порядка
Нормальная форма и нормализованная
форма
Нормальной
формой числа с плавающей запятой
называется такая форма, в которой
мантисса (без учёта знака) находится
на полуинтервале [0; 1) (). Число с плавающей
запятой, находящееся не в нормальной
форме, теряет точность по сравнению с
нормальной формой. Такая форма записи
имеет недостаток: некоторые числа
записываются неоднозначно (например,
0,0001 можно записать в 4 формах — 0,0001×100,
0,001×10−1, 0,01×10−2, 0,1×10−3), поэтому
распространена (особенно в информатике)
также другая форма записи — нормализованная,
в которой мантисса десятичного числа
принимает значения от 1 (включительно)
до 10 (не включительно), а мантисса
двоичного числа принимает значения от
1 (включительно) до 2 (не включительно)
(). В такой форме любое число (кроме 0)
записывается единственным образом.
Недостаток заключается в том, что в
таком виде невозможно представить 0,
поэтому представление чисел в информатике
предусматривает специальный признак
(бит) для числа 0.
Представления чисел с плавающей
запятой.
Число с плавающей запятой
состоит из:
Мантиссы (выражающей значение
числа без учёта порядка)
Знака мантиссы (указывающего
на отрицательность или положительность
числа)
Порядка (выражающего степень
основания числа, на которое умножается
мантисса)
Знака порядка
Нормальная форма и нормализованная
форма
Нормальной
формой числа с плавающей запятой
называется такая форма, в которой
мантисса (без учёта знака) находится
на полуинтервале [0; 1) (). Число с плавающей
запятой, находящееся не в нормальной
форме, теряет точность по сравнению с
нормальной формой. Такая форма записи
имеет недостаток: некоторые числа
записываются неоднозначно (например,
0,0001 можно записать в 4 формах — 0,0001×100,
0,001×10−1, 0,01×10−2, 0,1×10−3), поэтому
распространена (особенно в информатике)
также другая форма записи — нормализованная,
в которой мантисса десятичного числа
принимает значения от 1 (включительно)
до 10 (не включительно), а мантисса
двоичного числа принимает значения от
1 (включительно) до 2 (не включительно)
(). В такой форме любое число (кроме 0)
записывается единственным образом.
Недостаток заключается в том, что в
таком виде невозможно представить 0,
поэтому представление чисел в информатике
предусматривает специальный признак
(бит) для числа 0. Так как старший разряд
(целая часть числа) мантиссы двоичного
числа (кроме 0) в нормализованном виде
равен «1», то при записи мантиссы числа
в эвм старший разряд можно не записывать,
что и используется в стандарте IEEE 754. В
позиционных системах счисления с
основанием большим, чем 2 (в троичной,
четверичной и др.), этого свойства нет.
Кодирование отрицательных чисел. В
кодах кодирование представлено
как: число с единицей в знаковом
разряде — оно означает что число
отрицательное.
В прямом обычном 1.010010 В
модифицированном 11.010010
Сложение чисел в модифицированном
дополнительном коде.
Производиться так же как и в
обычном но в знаковом разряде 2 числа.
Сложение в модифицированном
обратном коде. Производиться
так же как и в обычном но в знаковом
разряде 2 числа.
Переполнение разрядной сетки в простых
кодах. При сложении 2х различных
чисел <1 сумма может
быть больше или равно единице, в этом
случае произойдет переполнение разрядной
сетки. Название случая отражает то, что
требуемый результат не может быть
размещён в используемой разрядной
сетке, или не входит в множество чисел
со знаком данной разрядности. Обнаружатся: 1
полное искажение результатов сложения
2 анализ переносов.
Переполнение разрядной сетки в
модифицированных кодах.
Как и в случае простого обратного
кода, возникающая единица переноса в
знаковых разрядах по цепи циклического
переноса добавляется в младший разряд
цифровой части числа.
Так как в сложении по-прежнему
участвуют только числа меньше единицы,
то
S = X + Y < 2
Поэтому старший знаковый разряд
не может быть искажён переносом из
цифровой части числа, с другой стороны,
перенос, возникающий при сложении чисел
в случае, когда
S = X + Y > 1
искажает младший знаковый
разряд.
Несовпадение знаковых разрядов
после выполнения операции указывает
на факт наличия переполнения.
При этом различают два типа
переполнения:
"01" - положительное
"10" - отрицательное.
Первому ставится в соответствие
комбинация 01 в знаковых разрядах, а
второму – 10.
Сложение и вычитание двоичных чисел
с плавающей запятой. Если показатели
степени равны, сложение-вычитание
реализуются элементарно. Пусть:X1
= M1qp
X2 = M2qp
Тогда:X1 + X2 = M1qp
+ M2qp = (M1 + M2) * qp
X1 - X2 = M1qp
- M2qp = (M1 - M2) * qp
То есть, просто выносим qp за
скобку и складываем-вычитаем мантиссы.
Если показатели степени отличаются,
нужно воспользоваться неоднозначностью
представления, и выровнять значения
показателей степени. Это можно сделать
многими способами, например, так:X1
= M1qp1
X2 = M2qp2
X1 + X2 = M1qp1
+ M2qp2 = (M1 + M2*qp2-p1)
* qp1
После чего нужно привести
M2*qp2-p1 к нормальному (т.е. к
обычному, без показателя степени) виду,
сложить с M1 результат и будет
мантиссой суммы, а показателем степени
суммы будет p1.
Сложение чисел с плавающей запятой
с основанием 16.
Сначала идет перевод в 2ю систему
основы представления и
передачи двоичных чисел в ЭВМ. Двоичные
числа могут быть переданы 2мя
способами: Потенциальный: Здесь 0 или
1 задаются уровнем напряжения в сети.
1 — высокое напряжение. 0 — низкое, или
наоборот.
Импульсный: Соответствует
импульсу — есть ток(импульс) 1ца, нету
0, или наоборот.
Основы понятия алгебры логики. Логика-это
наука изучающая методы доказательств
и опровержений т.е методы установление
истин или лжи высказываний(утверждений)
на основе или лжи других высказываний.
В алгебре логики все операции
действия выполняются над логическими
высказываниями. Под высказывание
понимают любые утверждение(событие) в
отношение которого имеет смысл утверждать
что истинно оно или ложно. Высказывания
могут быть простыми и сложными. Простые
высказывания не зависят от других
высказываний а сложные высказывания
образуются образуются из 2х и более
простых высказываний.
Простые высказывания называют
логическими переменными а сложные-логическими
функциями .
Высказывания оцениваются только
по их истинности или ложности Если
истина то 1 если лож то 0. Если у 2х
высказываний значение истинности
совпадают эти высказывания называют
эквивалентными Понятие – это форма
мышления, фиксирующая основные,
существенные признаки объекта. Высказывание
– это основной элемент логики,
повествовательное предложение
(утверждение), содержание которого
можно определить как истинное оно или
ложное. Об объектах можно судить верно
или неверно, то есть высказывание может
быть истинным или ложным. Истинным
будет высказывание, в котором связь
понятий правильно отражает свойства
и отношения реальных вещей. Логические
выражения бывают простыми и составными
(сложными). Логическая переменная в
алгебре логики может принимать одно
из двух возможных значений: TRUE - истина,
FALSE - ложь. Эти значения в цифровой
технике принято рассматривать как
логическую "1" (TRUE) и логический
"0" (FALSE), или как двоичные числа 1 и
0. Физически это может означать присутствие
или отсутствие некоторого сигнала
(замкнуто, разомкнуто), уровень потенциала
на электронном элементе (высокий,
низкий), протекание или отсутствие тока
в некоторой цепи и т.п. Логические
переменные позволяют легко описать
состояние таких объектов, как тумблеры,
кнопки, реле, триггеры и других, которые
могут находиться в двух четко различимых
состояниях: включено — выключено..
Операции алгебры логики. В качестве
основных логических операций в сложных
логических выражениях используются
следующие:
ИЛИ (логическое сложение,
дизъюнкция);
ИЛИ (логическое умножение,
конъюнкция);
НЕ (логическое отрицание,
инверсия)
Логическое отрицание является
одноместной операцией, так как в ней
участвует одно высказывание. Логическое
сложение и умножение – двухместные
операции, в них участвует два высказывания.
Основные законы алгебры
логики.
Представление
переключательных функций.
Переключательной функцией называется
такая функция от нескольких аргументов,
все аргументы которой являются
высказываниями, и значение которой
также является высказыванием. Иначе
говоря, это логическая функция от
логических аргументов.
Переключательная функция однозначно
задаётся своей таблицей истинности :
Общий принцип заполнения таблицы
истинности :
Шапка
и тело одинаковы для всех таблиц
истинности при фиксированном значении
n, т.е. для всех переключательных функций
от n аргументов.
В шапке таблицы истинности переключательной
функции от n аргументов перечисляются
все её аргументы (в заголовках первых
n столбцов) и, наконец, само имя функции
F (X1, X2,…,Xn).
Тело таблицы заполняется всеми возможными
строками, начиная от строки из всех
нулей, заканчивая строкой из всех
единиц. Каждая строка, как это даже
самому пьяному ежу понятно, представляет
собой двоичную запись своего порядкового
номера, если условиться считать, что
начальная строка имеет нулевой номер.
Алгоритм заполнения тела таблицы —
это циклический алгоритм, в котором
навьючено друг на друга n циклов. Быстрее
всего изменяется переменная Xn, помедленнее
Xn-1, а всего медленнее - X1. Как вы знаете
уже из Комбинаторики, если имеется n
вложенных циклов, в которых каждая
переменная пробегает ровно k значений,
то такой цикл срабатывает ровно k в
степени n раз. В теле таблицы истинности
должно быть, таким образом, 2 в степени
n строк, а последняя строка представляет
собой двоичную запись числа (2n-1)
.