Теоретические основы информатики 3
СОДЕРЖАНИЕ: 2. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ИНФОРМАТИКИ 1.1. Понятие информации и информатики Стандарт основного общего образования по информатике и информационным технологиям ставит следующие цели:1.
2. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ИНФОРМАТИКИ
1.1. Понятие информации и информатики
Стандарт основного общего образования по информатике и информационным технологиям ставит следующие цели:
· освоение основ научных представлений об информации, информационных процессах, системах, технологиях и моделях;
· умение работать с различными видами информации с помощью компьютера и других средств информационных и коммуникационных технологий (ИКТ), организовывать собственную информационную деятельность и планировать ее результаты;
· развитие познавательных интересов, интеллектуальных и творческих способностей средствами ИКТ;
· воспитание ответственного отношения к информации с учетом правовых и этических аспектов ее распространения; избирательного отношения к полученной информации;
· овладение навыками использования средств ИКТ в профессиональной деятельности, при выполнении индивидуальных и коллективных проектов, в учебной деятельности и дальнейшем освоении профессии.
1.1.1. Что такое информатика
В наиболее развитых странах большое внимание уделяется к использованию методов информатики в самых различных областях научных исследований и практических разработок.
Например, Консультативный комитет по информационным технологиям при Президенте США в 2005 году в специальном аналитическом докладе указал на необходимость безотлагательного принятия решительных действий на федеральном уровне по предотвращению снижения конкурентоспособности науки и образования в США в течение 15 лет, прямо указывая на то, что в 21-м веке главное внимание должно быть уделено развитию науки, образования и высоких технологий в промышленности и социальных сферах.
Термин информатика возник в 60-х гг. прошлого века во Франции и в России для названия области, занимающейся автоматизированной обработкой информации с помощью электронных вычислительных машин. Слияние двух слов informatigue (информатика) и automatigue (автоматика) дало название целому направлению науки - информационная автоматика или автоматизированная переработка информации . В англоязычных странах этому термину соответствует синоним computer science (наука о компьютерной технике).
Развитие компьютерной техники ускорило становление информатики как самостоятельной области человеческой деятельности. Микропроцессорная техника (интегральные схемы и микропроцессоры) стала элементной базой вычислительных машин.
В 1983 году в Академии наук СССР было создано Отделение информатики, вычислительной техники и информатизации.
В этом же году Академией наук СССР утверждён термин «информатика» как комплексная научная и инженерная дисциплина, изучающая все аспекты разработки, проектирования, создания, оценки, функционирования основанных на ЭВМ систем переработки информации, их применения и воздействия на различные области социальной практики.
Таким образом, информатика была нацелена на разработку общих методологических принципов построения информационных моделей, и её методы применимы везде, где существует возможность описания объекта, явления, процесса и т.п. с помощью информационных моделей.
Из всего множества определений информатики, которые связаны с многогранностью ее функций, возможностей, средств и методов, можно предложить такую трактовку:
Информатика — это техническая наука, систематизирующая закономерности и приемы процессов создания, хранения, воспроизведения, обработки и передачи данных средствами вычислительной техники, а также принципы функционирования этих средств и методы управления ими.
Можно дать и такое, более широкое определение информации:
Информатика - это отрасль науки, изучающая структуру и общие свойства научной информации, а также вопросы, связанные с ее сбором, хранением, поиском, переработкой, преобразованием, распространением и использованием в различных сферах деятельности .
Предмет информатики составляют следующие понятия:
· аппаратное обеспечение средств вычислительной техники и телекоммуникаций;
· программное обеспечение средств вычислительной техники и телекоммуникаций;
· средства взаимодействия аппаратного и программного обеспечения;
· средства взаимодействия человека с аппаратными и программными средствами.
Часто возникает путаница в понятиях информатика и кибернетика.
Концепция, заложенная Н. Винером в кибернетику, связана с разработкой теории управления сложными динамическими системами в разных областях человеческой деятельности. Кибернетика существует независимо от наличия или отсутствия компьютеров.
Кибернетика – это наука об общих принципах управления в различных системах: технических, биологических, социальных и др.
С одной стороны, информатика занимается изучением процессов преобразования и создания новой информации более широко, практически не решая задачи управления различными объектами, как кибернетика.
Может сложиться впечатление об информатике как о более емкой дисциплине, чем кибернетика.
С другой стороны, информатика не занимается решением проблем, не связанных с использованием компьютерной техники, что, несомненно, сужает ее, казалось бы, обобщающий характер.
Между этими двумя дисциплинами провести четкую границу не представляется возможным в связи с ее размытостью и неопределенностью, хотя существует довольно распространенное мнение, что информатика является одним из направлений кибернетики.
Основы кибернетики были заложены трудами американского математика Норберта Винера , опубликованными в 1948 году, а само название происходит от греческого слова (kyberneticos — искусный в управлении).
В кибернетике процесс управления представляется как взаимодействие двух систем - управляющей и управляемой (рис.1.1). Управление системой осуществляется путем подачи управленческого сигнала воздействия 1 с учетом обратной связи (2) - текущего состояния управляемой системы и внешней среды (3).
Управляющая система формирует воздействия на управляемую систему, которые побуждали бы последнюю принять состояние, определяемое целью управления. Обратная связь (2) – это информация о выполнении управляющих воздействий.
Рис.1.1. Структура системы управления.
Грубый анализ контура управления показывает, что при отсутствии обратной связи невозможно создать устойчивую систему управления.
Но, с использованием подобного контура невозможно описать все процессы управления, так как в сложных системах управления объекты могут действовать по определенным, возможно даже своим, законам, которые называются принципом внешнего дополнения. Такими же принципами могут руководствоваться и управляющие органы.
Поэтому в настоящее время кибернетика получила второй более мощный импульс развития, который может привести к прорыву в области, как аппаратных, так и программных систем информатики.
Предмет кибернетики - это принципы построения и функционирования систем автоматического управления, и основные задачи кибернетики это:
· методы моделирования процесса принятия решений техническими и программными средствами,
· связь между психологией человека и математической логикой,
· связь между информационным процессом отдельного индивидуума и информационными процессами в обществе,
· разработка принципов и методов искусственного интеллекта.
Информатика появилась благодаря развитию компьютерной техники, базируется на ней и совершенно немыслима без нее.
Кибернетика же развивается сама по себе, строя различные модели управления объектами, хотя и очень активно использует все достижения компьютерной техники. Кибернетика и информатика, внешне очень похожие дисциплины, но их различие состоит в том, что информатика изучает свойства информации и аппаратно-программных средств ее обработки, а в кибернетике – разрабатываются концепции построения моделей объектов с использованием, в частности, информационного подхода.
1.1.2. Структура информатики
Информатика в широком смысле представляет собой единство разнообразных отраслей науки, техники и производства, связанных с переработкой информации главным образом с помощью компьютеров и телекоммуникационных средств связи во всех сферах человеческой деятельности.
Информатику в узком смысле слова можно представить как состоящую из трех взаимосвязанных частей (рис 1.2):
· технических средств (hardware), это компьютеры, принтеры, мониторы и т.д.
· программных средств (software), это программы, которые загружаются в компьютеры,
· алгоритмических средств (brainware), это модели, алгоритмы, алгоритмические языки и. д.
В широком смысле слова , информатику, как в целом, так и каждую ее часть обычно рассматривают с разных позиций:
· как отрасль народного хозяйства,
· как фундаментальную науку,
· как прикладную дисциплину.
Рис. 1.2. Структура информатики как отрасли, науки, прикладной дисциплины
Информатика как отрасль народного хозяйства включает однородную совокупность предприятий разных форм хозяйствования, которые занимаются производством компьютерной техники, программных продуктов и разработкой современной технологии переработки информации.
Специфика и значение информатики как отрасли производства состоят в том, что от нее во многом зависит рост производительности труда в других отраслях народного хозяйства.
Информатика как фундаментальная наука занимается разработкой методологии создания информационного обеспечения процессов управления любыми объектами на базе компьютерных информационных систем.
Одна из главных задач этой науки – выяснение, что такое информационные системы, какое место они занимают, какую должны иметь структуру, как функционируют и какие общие закономерности им свойственны.
Цель фундаментальных исследований в информатике – получение обобщенных знаний о любых информационных системах, выявление общих закономерностей их построения и функционирования.
Информатика как прикладная дисциплина занимается:
· изучением закономерностей в информационных процессах (накопление, переработка, распространение);
· созданием информационных моделей коммуникаций в различных областях человеческой деятельности;
· разработкой информационных систем и технологий в конкретных областях и выработкой рекомендаций относительно их жизненного цикла: для этапов проектирования и разработки систем, их производства, функционирования и т.д.
Таким образом, информатика занимается методами и средствами преобразования информации и их использованием в организации технологического процесса переработки информации.
Задачи информатики состоят в следующем:
· исследование информационных процессов любой природы;
· разработка информационной техники и создание новейшей технологии переработки информации на базе полученных результатов исследования информационных процессов;
· решение научных и инженерных проблем создания, внедрения и обеспечения эффективного использования компьютерной техники и технологии во всех сферах общественной жизни.
Информатика является комплексной научно-технической дисциплиной, которая создаёт новую информационную технику и новую технологию для решения проблем в других областях даже в таких, где считается невозможным применение количественных методов из-за неформализуемости процессов и явлений.
Значительное развитие средств информатики и связи дает возможность осуществить в будущем переход к безбумажной технологии и безбумажному обществу. В безбумажном обществе информационный обмен между пользователями будет осуществляться с помощью видеотелефона, видеотекстных систем, электронной почты, факсимильной передачи документов, телеконференций, сети передачи данных и т.д., а сбор, хранение и обработка информации будет производиться с помощью средств вычислительной техники.
В последнее время, чтобы подчеркнуть использование современных средств вычислительной техники, информатики и связи вводят термин новые информационные технологии (НИТ).
Таким образом, в настоящее время информационная технология может быть определена, как совокупность систематических и массовых способов создания, накопления, обработки, хранения, передачи и распределения информации (данных, знаний) с помощью средств вычислительной техники и связи.
Особенно следует выделить в информатике методы математического моделирования и методы распознавания образов, практическая реализация которых стала возможной благодаря достижениям компьютерной техники.
Информатика становится ведущей в информационном обществе. Информированность в обществе в существенной степени зависит от прогресса информатики как науки, техники и производства.
1.1.3. Влияние информатики на общество
Общественные отношения в истории развития человеческого общества всегда зависели от приобретения знаний в различных науках. Кардинальные изменения в сфере обработки информации позволило человеческому обществу приобрести новое качество.
В области овладения информацией в истории цивилизации можно выделить четыре этапа.
Первый этап: изобретение письменности, в результате чего появилась возможность передачи знаний от поколения к поколениям.
Второй этап: (середина XVI в.) изобретение книгопечатания, которое радикально изменило культуру, организацию деятельности общества.
Третий этап: (конец XIX в.) изобретение электричества, благодаря которому появились телеграф, телефон, радио, давшие возможность оперативно передавать информацию в любом объеме.
Четвертый этап: (70-е гг. XX в.) изобретение микропроцессорной технологии и появление персонального компьютера. Этот этап характеризуется:
· переходом от механических и электрических средств преобразования информации к электронным;
· миниатюризацией устройств, приборов, машин;
· созданием программно-управляемых устройств и процессов.
В этот период на первый план выходит новая отрасль - информационная индустрия. Важнейшими составляющими информационной индустрии становятся все виды информационных технологий, особенно телекоммуникации.
Современная информационная технология опирается на достижения в области компьютерной техники и средств связи.
Роль информационных процессов в нашей жизни велика и с каждым годом становится все ощутимей.
Усложнение индустриального производства, социальной, экономической и политической жизни, изменение динамики процессов во всех сферах деятельности человека привели, с одной стороны, к росту потребностей в знаниях, а с другой – к созданию новых средств и способов удовлетворения этих потребностей.
Бурное развитие компьютерной техники и информационных технологий послужило толчком к развитию общества, построенного на использовании различной информации и получившего название информационного общества.
В информационном обществе изменятся производство, уклад жизни, система ценностей, возрастет значимость культурного досуга по отношению к материальным ценностям. Люди, живущие в информационном обществе, должны уметь пользоваться главным его инструментом, и в первую очередь универсальной информационной машиной – компьютером.
По сравнению с индустриальным обществом, где все направлено на производство и потребление товаров, в информационном обществе производятся и потребляются интеллект, знания, что приводит к увеличению доли умственного труда. От человека потребуется способность к творчеству, возрастет спрос на знания.
Информационное общество – общество, в котором большинство работающих занято производством, хранением, переработкой и передачей информации, особенно высшей ее формы – знаний.
В настоящее время в передовых странах с конца XX в. постепенно проявляются очертания информационного общества. Все больше людей живут и работают в квартирах и офисах оснащенных всевозможными электронными приборами и компьютерными устройствами. В деятельности людей все большее место занимает обработка информации с помощью электронных средств.
В России с 1990 года осуществляется развитие социальной информатики, как нового перспективного направления в науке и образовании, которое становится научной базой для формирования информационного общества. Разработана концепция и методология изучения проблем социальной информатики в системе высшего образования.
А уже в 1996 году сформировались представления об информатике как о фундаментальной науке, имеющей междисциплинарное, научно-методологическое и мировоззренческое значения.
При переходе к информационному обществу возникает новая индустрия переработки информации на базе компьютерных и телекоммуникационных информационных технологий.
В настоящее время информационное общество можно охарактеризовать следующими признаками:
· активно разрешается противоречие между большим потоком информации и информационной потребностью общества;
· по сравнению с другими ресурсами информация в большинстве случаев имеет приоритет;
· экономика занимает ведущее положение;
· автоматизированная обработка, хранение, передача и использование данных выходит на первое место;
· информационные технологии приобретают глобальный характер, охватывая все сферы деятельности человека;
· формируется информационное единство всей человеческой цивилизации;
· с помощью информационных технологий осуществляется доступ каждого человека к информационным ресурсам всей цивилизации;
· реализуются гуманистические принципы управления обществом и воздействия на окружающую среду.
Кроме положительных моментов прогнозируются и опасные тенденции:
· все большее влияние на общество средств массовой информации;
· информационные технологии могут разрушить частную жизнь людей и организаций;
· существует проблема отбора качественной и достоверной информации;
· многим людям будет трудно адаптироваться к среде информационного общества. Существует опасность разрыва между информационной элитой (людьми, занимающимися разработкой информационных технологий) и потребителями.
Сегодня в России насчитывается около двух миллионов компьютеров. И хотя по абсолютному значению это достаточно большое количество, в среднем персональный компьютер есть только у каждого 10 россиянина.
Ближе всех на пути к информационному обществу стоят страны с развитой информационной индустрией, к числу которых можно отнести США, Японию, Англию, страны Западной Европы. В этих странах уже давно одним из направлений государственной политики является направление, связанное с инвестициями и поддержкой инноваций в информационную индустрию, в развитие компьютерных систем и телекоммуникаций.
В настоящее время тенденцией в информатизации общества является переход к использованию компьютеров в информационных сетях. Электронная компьютерная почта, компьютерные телеконференции и видеоконференции, поиск информации во «Всемирной паутине» стали повседневной практикой пользователей компьютеров в развитых странах.
Современные информационные технологии позволяют включать в состав документа мультимедийные объекты (графику, звук, анимацию, видео). Умение работать с информацией, представленной во всех этих формах, становится также социально значимым явлением в нашем обществе.
Использование компьютерных сетей позволяет максимально быстро доставить информацию широкому кругу потребителей.
1.1.4. Сообщения, данные, сигнал
Судя по высказываниям ученых, определения информатики не ведут к обозначению предмета исследования. Да и подмена информации ее количественной характеристикой начинается с первых страниц любых учебников. Школьники и студенты читают в учебниках определение информации, как “отражение предметного мира с помощью знаков и сигналов”. Намного ли и в какую именно сторону отличается ее полное “научное не определение” от школьного?
Передача и обработка “информационных сигналов” предусматривается всеми, а вот что именно “информационное” содержится в этих сигналах, остается неразрешимым вопросом, если, конечно, не удовлетвориться дежурным утверждением о том, что в них содержатся “сведения”.
Тут возникает вопрос, можно ли, опираясь на него точно определить количество информации? И далее, после справедливого утверждения о том, что это невозможно при данном определении, напрашивается вывод, что в зависимости от многих причин каждый из нас воспримет ее больше или меньше, приводят несколько известных вариантов алгоритмов определения этого самого количества информации.
Спрашивается, количество чего мы должны определять: “отражения”, “сведений” или “свойств”? Большинство же авторов стараются вообще не обращать внимания на отсутствие определения информации. Все это не так безобидно, как представляется на первый взгляд. Пустота заполняется текстами учебников, рекомендованных Министерством общего и профессионального образования РФ, об информационном поле: “…у материи остается лишь одно свойство - обладать изменяющейся структурой, т.е. существовать в пространстве и времени в форме универсального поля, которое мы будем именовать информационным полем ”. Тут же появляется желание обратиться к азам диалектического материализма, так как идея информационного поля суть “материализованная диалектика”.
Похоже, все, что не имеет определения, можно называть полем - мысленным, чувственным, информационно-логическим и каким угодно.
Можно ли поверить в то, что измеряемая величина не имеет никакого вразумительного собственного определения? Этому поверить нельзя, ибо сегодня каждый школьник знает, что для того чтобы что-то измерить, надо иметь не только меру, но и сущность, феномен, явление, именованную шкалу, к которым эта мера прикладывается.
Любое свойство, даже самое “основное”, должно иметь сравнительное определение, имя в некоторой классификации свойств, без которого свойством не является. К информации же, как свойству, такое требование по какой-то причине не применяется.
Разработчики статистической теории количества информации всё сделали правильно, но только не для информации, а для некоторого, не нуждающегося в терминологическом определении, количества , при условии, что сообщения подчиняются статистическим закономерностям. Таким образом, научное общество вынуждено искать замену такого подхода с момента формирования понятия информатики.
В этом смысле информатика, как наука, мужественно борется за свое место под солнцем, не сдаваясь computer science, и ожидает свой предмет исследования.
Классическая количественная теория информации состоит из двух частей:
· теории преобразования сообщений и сигналов, основную долю в которой составляют вопросы кодирования и декодирования;
· теории передачи сообщений и сигналов без шумов и с шумами (с помехами) в канале связи.
Ее основным утверждением, влияющим на понимание смысла термина “информация” является утверждение: носителем сообщения или информации является сигнал .
Этой “информации” придаются количественная и качественная мера. То есть, вводится количество информации и, по возможности, количество семантики (вопрос о возможности существования собственного смысла сообщения без его интерпретации в передатчике и приемнике обычно не задается) в информационной посылке.
Таким образом, сохраняются “сигнальные” предпосылки: характеристики сигнала, на котором отражается (переносится) сообщение, и есть предмет изучения информации.
В этом-то случае и получается, что собственно информацию определять не надо никак. Информация - просто “универсальное свойство” всего существующего в материальном мире, представимое через сигнал. После этого, конечно, можно утверждать, что, в зависимости от конкретного вида сигналов и их сочетаний, количество информации в них может быть больше или меньше.
Теория информации определяет, что если сообщение не снимает неопределенности , то оно не содержит информации , и наоборот если сообщение позволяет более определенно задать предмет, то в сообщении содержится информация .
Например, сообщение о том, что “Лев Николаевич Толстой написал роман «Война и мир», в котором описал события Отечественной войны 1812 года” для человека, знающего литературу, не содержит информацию, так как не несет ничего нового, но для школьников может обладать элементом новизны и тогда является информативным.
Степень неопределенности сообщения стали измерять величиной, получившей название энтропия , которая является функцией вероятности. Если вероятность равна 1, то энтропия равна нулю, а если вероятность равна 0, то энтропия равна бесконечности.
Количество информации , полученное как разность между начальной энтропией (до получения сообщения) и конечной энтропией (после получения сообщения), называется негэнтропией (отрицательной энтропией). Поэтому информацию иногда называют отрицательной энтропией. Соответственно у информации и у энтропии одна единица измерения – бит .
Такое понимание информации может привести к серьезным заблуждениям. Так, для школьного инспектора сообщение школьника о Л.Н.Толстом и его романе «Война и мир» не менее, а может быть и более (попробуйте подсчитать!) информативно, чем для самого школьника, ибо школьник, как и инспектор, уже информированы, но последнему это позволяет оценить не только знания отдельного ученика, но и уровень преподавания литературы.
После энтропийно-негэнтропийного подхода к информации некоторое распространение получил подход комбинаторный, когда количество информации определяется как функция числа элементов конечного множества в их комбинаторных отношениях. Можно встретить пример, когда мерой количества информации, содержащейся в некотором объекте А, относительно объекта В, берется минимальная “длина программы”, на основе которой можно однозначно преобразовать объект А в объект В. Это отголосок Колмогоровского предложения определения сложности системы по ее “программному” описанию.
К реальной жизни эти утверждения привязать довольно трудно, поэтому в другом варианте информация – это отражение разнообразия, то есть воспроизведение разнообразия одного объекта в другом объекте в результате их взаимодействия.
В такой концепции бит также является единицей измерения информации, которую получает приемник информации, осуществляя выбор из двух равновероятных возможностей разнообразия. Если же объекты не различаются, то их совокупность не содержит информации.
Например, в урне обнаружено два шара, из которых один белый, а второй черный. Оба вместе они несут в себе разнообразие - информацию - в один бит. Совокупность двух шаров одного цвета предлагается считать не содержащей информации. Основоположником концепции разнообразия является английский нейрофизиолог У.Р.Эшби. По его утверждению “информация не может передаваться в большем количестве, чем позволяет количество разнообразия”.
Такой подход не очень сильно отличается от примера с утверждениями о романе «Война и мир». Информацию нельзя отождествлять с различием. Считается, что различие, разнообразие суть объективная основа существования информации, если уж считать ее свойством всех материальных объектов, хотя кто возьмется утверждать, что однообразие не является свойством материи, сигналом или сообщением?
Можно предложить такое определение информации:
Информация - свойство материи и передается физическим сигналом, распространяющимся с помощью физического носителя, а ее количество может быть определено множеством подходов, в зависимости от конкретной задачи.
Качественная же сторона вообще не раскрыта в теории информации, здесь нет никакой ясности ситуации. В “модельно-математическом ключе” ставится задача нахождения “количества смысла”, “количества семантики”. Обратим внимание на то, что далеко не каждое свойство имеет осмысленное количественное выражение. Известные в математике “качественные шкалы” совсем не обязательно имеют метрику, т.е. некоторый способ сравнения “количеств” этого качества.
Теория же информации является самодостаточной, для того, чтобы мы вполне могли обходиться без “информатики”, а “собственные теории”, принадлежащие информатике как науке пока еще только зарождаются.
В конечном итоге сегодня во всех литературных источниках обычно указываются три общепринятые, почти “классические”, направления развития исследований, связанных со “свойственно-количественным” подходом к понятию информации:
- математический, количественный : разработка математического аппарата, отражающего основные свойства информации [Вот так и пишут в литературе: “свойства информации”, которая сама изначально определена как свойство!] или исследования в области сигнального понимания информации в полном соответствии с областью, приписываемой теории информации;
- понятийный, количественно-качественный : исследование основных свойств (!) информации - измерение ее ценности, полезности и т.п. или исследования в области понимания информации на уровне создания разнообразных подходов к ее количественно-качественному измерению;
- информатизационный : использование информационных методов в других науках (в социологии, лингвистике, биологии и др.) или рассмотрение информации в ее разъяснительном смысле, определенном как процесс информирования, или “информатизации”, происходящий стихийно или осуществляемый с какой-либо осознанной целью.
В компьютере для обеспечения выполнения операций с информацией бит представляется единицей или нулем.
Таким образом, информация в компьютере – это последовательность единиц и нулей и называются эти цифры битами.
С помощью 1 бита можно передать два варианта сообщений, например, 0 – нет, 1 – да или 0 – черный цвет, 1 – белый цвет. Чтобы вариантов сообщений было больше - биты объединяют. Из n бит можно составить 2n вариантов. Если объединить 8 бит , то получится новая единица измерения информации - 1 байт :
1 байт = 8 бит
С помощью 1 байта можно передать 28 = 256 вариантов, чего вполне достаточно для кодирования всех русских и английских, больших и маленьких букв, цифр и специальных знаков. Таким образом:
1 байт = 1 символ
При вводе с клавиатуры одного символа вводиться 1 байт информации.
Чтобы измерить больший объем информации, применяют более крупные единицы измерения информации.
Таблица 1.1
Наименование |
Обозначение |
Размер |
Бит |
Бит |
1 двоичный разряд |
Байт |
Байт |
1 байт = 8 бит |
Килобайт |
Кбайт |
1 Кбайт = 1024 байта |
Мегабайт |
Мбайт |
1 Мбайт = 1024 Кбайта |
Гигабайт |
Гбайт |
1 Гбайт = 1024 Мбайта |
Терабайт |
Тбайт |
1 Тбайт = 1024 Гбайта |
Надо заметить, что при переходе к более крупным единицам «инженерная» погрешность, связанная с округлением, накапливается и становится недопустимой, поэтому на старших единицах измерения округление производится реже. Байт, как группа взаимосвязанных бит, появился вместе с первыми образцами электронной вычислительной техники. Долгое время байт был машинно-зависимым, то есть для разных вычислительных машин длина байта была разной. Только в конце 60-х годов понятие байта стало универсальным и машинонезависимым. Во многих случаях целесообразно использовать не восьмиразрядное кодирование, а 16-разрядное, 24-разрядное, 32-разрядное и более. Группа из 16 взаимосвязанных бит (двух взаимосвязанных байтов) в информатике называется словом. Соответственно, группы из четырех взаимосвязанных байтов (32 разряда) называются удвоенным словом, а группы из восьми байтов (64 разряда) — учетверенным словом. Пока, на сегодняшний день, такой системы обозначения достаточно.
1.1.5. Единицы хранения данных
При хранении данных решаются две проблемы: как сохранить данные в наиболее компактном виде и как обеспечить к ним удобный и быстрый доступ (если доступ не обеспечен, то это не хранение). Для обеспечения доступа необходимо, чтобы данные имели упорядоченную структуру, а при этом образуется «паразитная нагрузка» в виде адресных данных. Без них нельзя получить доступ к нужным элементам данных, входящих в структуру. Поскольку адресные данные тоже имеют размер и тоже подлежат хранению, хранить данные в виде мелких единиц, таких, как байты, неудобно. Их неудобно хранить и в более крупных единицах (килобайтах, мегабайтах и т. п.), поскольку неполное заполнение одной единицы хранения приводит к неэффективности хранения.
В качестве единицы хранения данных принят объект переменной длины, называемый файлом . Файл — это последовательность произвольного числа байтов, обладающая уникальным собственным именем. Обычно в отдельном файле хранят данные, относящиеся к одному типу. В этом случае тип данных определяет тип файла.
Проще всего представить себе файл в виде безразмерной папки, в которой можно по желанию добавлять содержимое или извлекать его оттуда. Поскольку в определении файла нет ограничений на размер, можно представить себе файл, имеющий 0 байтов (пустой файл), и файл, имеющий любое число байтов.
В определении файла особое внимание уделяется имени. Оно фактически несет в себе адресные данные, и косвенно говорит о той информации, которая содержится в файле.
Совокупность файлов образует файловую структуру, которая, как правило, имеет иерархический тип. Полный адрес файла в файловой структуре является уникальным и включает в себя собственное имя файла и путь доступа к нему.
1.1.6. Представление чисел в памяти ЭВМ
1.
1.5.
1.6.
1.1.6.1. Представление информации в виде двоичного кода
Любой текст , представляется с помощью кода, в котором каждому отдельному символу в тексте (букве алфавита, цифре или знаку препинания) приписывается уникальная последовательность битов. Таким образом, текстовая информация представляется последовательностью битов, в которой наборы битов представляют символы в исходном тексте.
С появлением компьютеров разрабатывались различные системы кодов, для различного оборудования, что привело к проблемам в передаче информации. Чтобы разрешить сложившуюся ситуацию, Американский национальный институт стандартов (ANSI) принял Американский стандартный код для обмена информацией (ASCII). В этом коде используются наборы из семи битов для представления прописных и строчных букв английского алфавита, цифр от 0 до 9, пунктуационных знаков и управляющей информации: перевод строки, возврат каретки и табуляция.
Сегодня стандарт ASCII часто увеличен до восьми битов для одного символа, при этом в качестве старшего бита в каждый код символа добавляется 0. Такой метод предоставляет код, в котором каждый набор полностью занимает ячейку памяти размером 1 байт, и дополнительно ещё 128 кодов (полученные приписыванием дополнительному биту значения 1), которые могут представлять символы, не входящие в исходный стандарт ASCII. К сожалению, из-за того, что производители используют свои собственные интерпретации для этих дополнительных наборов битов, данные, в которых они появляются, часто не так просто переместить с системы одного производителя на систему другого.
Справка.
АМЕРИКАНСКИЙ НАЦИОНАЛЬНЫЙ ИНСТИТУТ СТАНДАРТОВ
Американский национальный институт стандартов ( ANSI ) основан в 1918 году небольшим консорциумом машиностроительных ассоциаций и государственных агентств как бесприбыльная организация для координации развития стандартов в частном секторе.
Сегодня в ANSI состоит более 1300 коммерческих и профессиональных организаций, торговых ассоциаций и государственных агентств. Штаб-квартира ANSI находится в Нью-Йорке и представляет США в организации ISO . Веб-страница Американского национального института стандартов находится по адресу: http :// www . ansi . org .
Подобные организации существуют и в других странах: Standards Australia (Австралия), Standards Council of Canada (Канада), China State Bureau of Quality and Technical Supervision (Китай), Deutsches Institut fbr Normung (Германия), Japanese Industrial Standards Committee (Япония), Direcciyn General de Normas (Мексика), Государственные комитет Российской Федерации по стандартизации и метрологии (Россия), Swiss Association for Standardization (Щвейцария) и British Standards Institution (Великобритания).
Например, приветствие «ПРИВЕТ» в этой системе будет иметь вид:
10001111 П |
10010000 Р |
10001000 И |
10000010 В |
10000101 Е |
10010010 Т |
Ведущие производители технического и программного обеспечения разрабатывают свои системы кодирования. Например, система кодирования Unicode, которая получила широкую поддержку со стороны специалистов в области вычислительной техники. В этом коде для представления символов используются последовательности из 16 бит. В результате чего стандарт Unicode включает в себя 65 536 различных кодов, которых достаточно для представления наиболее употребляемых символов китайского и японского языков. Международная организация по стандартизации (ISO, от греческого слова isos — «равный») разработала свой стандарт, который может конкурировать с Unicode. В этом стандарте один символ кодируется 32 битами и может представлять миллиарды символов.
Справка.
ISO - МЕЖДУНАРОДНАЯ ОРГАНИЗАЦИЯ ПО СТАНДАРТИЗАЦИИ
Международная организация по стандартизации ( ISO ) организована в 1947 году как всемирная организация органов стандартизации, по одному из каждой страны.
Сегодня ее штаб-квартира находится в Женеве (Швейцария). Членами организации являются более 100 национальных институтов и многочисленные член-корреспонденты. (Член-корреспондент является представителем страны, в которой не существует национального института стандартизации. Они не могут непосредственно участвовать в разработке стандартов, но их информируют о шагах, предпринимаемых ISO .)
Веб-страница ISO находится по адресу http :// www . iso . ch .
1.
1.2.
1.2.
1.2.
1.2.
1.2.
1.2.
1..0.
1..1.
1.
1.1.1.
1.1.2.
1.1.3.
1.1.4.
1.1.5.
1.1.5.1.
1.1.6.2. Представление числовых значений
Метод хранения информации в виде закодированных символов неэффективен для работы с числовой информацией.
Например, как будет храниться число 17? В стандарте ASCII, используется 1 байт памяти для каждого символа. Таким образом, нам потребуется в общей сумме 16 битов. А, самое большое число, которое мы можем представить, используя 16 битов, это 99. Поэтому более эффективным является хранение числового значения в двоичном представлении.
Двоичное представление (binary notation) — это запись числовых значений, в которой используются только 0 и 1, а не 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9, как в традиционной, десятичной, системе счисления.
Напомним, что в десятичной системе счисления каждой позиции в записи числа соответствует определенный разряд. В записи числа 281 цифра 1 занимает позицию единиц, 8 — позицию десятков, 2 — позицию сотен.
3 |
7 |
5 |
Запись числа
Рис. 1.3. Разрядность записи чисел
При смещении по записи числа влево вес разряда увеличивается в десять раз. Значение, представленное записью, можно получить, умножив значение каждого числа на вес его разряда и затем сложив полученные произведения. Например, запись 281 имеет вид:
(2 х 100) + (8 х 10) + (1 х 1).
В двоичном представлении каждая позиция в записи числа также соответствует определенному разряду. При движении по записи числа влево вес разряда каждый раз увеличивается в два раза.
Более точно, вес разряда последнего числа справа равен единице (2°), вес разряда следующего числа равен двум (21 ), следующего — четырем (22 ), следующего — восьми (23 ) и т. д.
Например, в двоичной записи 1101 самая крайняя справа 1 соответствует весу разряда, равному единице, следующий ноль — весу разряда, равному двум, 1 соответствует весу разряда, равному четырем, а самая крайняя слева 1 — весу разряда, равному восьми.
Чтобы получить значение, представленное двоичной записью, выполняем те же действия, как в случае с десятичной системой счисления: умножаем значение каждой цифры на вес соответствующего разряда и складываем полученные произведения.
Вес разряда |
1 |
0 |
1 |
1 |
Запись числа
Рис. 1.4 Вес разрядов
Например, значение, имеющее запись 100101, равно 37.
Важно, что в двоичном представлении используются только 0 и 1, и получение значения числа сводится к суммированию тех разрядов, в которых в записи стоит единица.
1 |
1Г0о |
1 |
1 |
0 |
1 |
Вес разряда |
|
1 |
х Один = 1 |
||||||
0 |
х Два = 0 |
||||||
1 |
х Четыре = 4 |
||||||
1 |
х Восемь = 8 |
||||||
1 |
х Шестнадцать = 16 |
||||||
1 |
х Тридцать два = 32 |
Двоичная запись
Значение бита Сумма = 61
Рис. 1.5. Представление двоичных чисел
Еще один пример. Двоичная запись 1101 имеет значение 13, так как единицы соответствуют разрядам 1, 3 и 4.
Последовательность двоичных записей, соответствующих десятичным числам от 0 до 8, выглядит следующим образом: 0, 1, 10, 11, 100, 101, 110, 111, 1000.
Для получения двоичной записи больших положительных чисел можно использовать систематический подход, описываемый алгоритмом.
Шаг 1. Делим число на два и запишем остаток деления.
Шаг 2 . Продолжаем делить частные на два и записывать остаток до тех пор, пока частное не будет равно нулю.
Шаг 3 . Когда частное станет равно нулю, двоичная запись числа будет состоять из остатков деления, выписанных справа налево в том порядке, в каком они были получены.
Попробуем применить этот алгоритм к числу 13. Сначала делим тринадцать на два, получаем частное, равное шести, и единицу в остатке; так как частное не равно нулю, делим его на два в соответствии с шагом 2. В результате имеем новое частное, равное трем, и ноль в остатке. Это частное также не равно нулю, поэтому делим его на два, получая частное, равное единице, и два в остатке. Еще раз делим частное (единицу) на два, в этот раз частное равно нулю, а остаток единице. Так как мы получили в результате деления ноль, то переходим к третьему шагу и получаем двоичную запись исходного значения (тринадцать), которая имеет вид 1101.
Рис. 1.6. Преобразование числа 13 в двоичную форму записи
Теперь вспомним, что представление числа 17 в начале раздела (двумя байтами), и, что таким образом можно представить самое большое число 99. Становится видно, если мы будем использовать двоичное представление, мы сможем хранить целые числа в интервале от 0 до 65 535, что является значительным усовершенствованием.
Таким образом, числовую информацию принято хранить в виде двоичной записи, а не в виде закодированных символов. Речь идет о «в виде двоичной записи», потому что обычная двоичная система счисления описывает только основы нескольких способов хранения числовой информации, используемые в машинах.
Важно, что для хранения целых чисел принята система кодирования, которая называется представлением в дополнительном коде , которая дает возможность кодирования и положительных, и отрицательных чисел.
Для хранения чисел с дробной частью, таких как 3*/2 или 3 /4 , используется другая форма, называемая представлением чисел с плавающей точкой . Таким образом, отдельное значение (например, 15) может быть представлено различными последовательностями битов (как символ, закодированный в стандарте ASCII; в представлении в дополнительном коде или в форме с плавающей точкой, как 150 /2 ), и наоборот, отдельную последовательность битов можно интерпретировать по-разному.
При этом надо помнить, что независимо от размера области памяти, которую машина может выделить для хранения числового значения, все равно будут появляться слишком большие целые числа или слишком маленькие дроби, не помещающиеся в эту область. В связи с этим всегда существует возможность ошибок, таких как переполнение (число слишком большое) или усечение (дробь слишком маленькая). С ними необходимо бороться, иначе ничего не подозревающий пользователь столкнется с множеством ошибочных данных.
1.
1.1.
1.2.
1.3.
1.4.
1.5.
1.6.
1.6.1.
1.6.2.
1.1.6.3. Представление изображений
В компьютерных системах кроме текстовой и числовой информации хранится графическая, звуковая и видеоинформация. Способы представления этих данных находятся только в начале своего развития и, следовательно, не настолько стандартизированы.
Все изображения делят на две категории: растровые (bitmap techniques) и векторные (vector techniques).
Растровое изображение представляет собой набор точек, элементов изображения, которые называются пикселами (pixel). Самое простое представление имеет вид длинной последовательности битов, каждый из которых равен 0 или 1 в зависимости от того, белого или черного цвета пиксел. Цветные изображения отображать немного сложнее, так как необходимо каждый пиксел представлять комбинацией битов, обозначающей его цвет.
Многие внешние устройства компьютера (факсы, видеокамеры и сканеры) конвертируют изображения в растровый формат. Эти устройства кодируют цвет пиксела в виде комбинации трех составляющих: красной, зеленой и синей, соответствующих трем основным цветам. Для представления интенсивности каждого цвета используется один байт, в то время как для представления целого пиксела изображения требуется три байта. Этот подход с использованием трех составляющих цвета используется также в мониторе компьютера, который отображает миллиарды пикселов, каждый из которых состоит из трех компонентов: красного, зеленого и синего, что можно заметить, рассмотрев экран поближе (через увеличительное стекло).
Таким образом, для изображения, состоящего из 1024 рядов, содержащих 1024 пиксела каждый, потребуется такой объём памяти, который превысит емкость обычного гибкого диска.
Изображение в растровом формате имеет один недостаток: размер изображения нельзя произвольно увеличить. Так как, единственный способ увеличения изображения — увеличить размер пикселов. Но это приводит к зернистому изображению — явлению, которое часто наблюдается в цифровых фотоаппаратах.
Векторный формат представления изображений преодолевает эту проблему. Векторное изображение - это набор линий и дуг. Такое описание заставляет само устройство рисовать изображение, а не воспроизводить комбинацию пикселов.
Различные шрифты, в современных принтерах и мониторах, часто кодируются именно таким способом, для того чтобы размер символа сделать более гибким.
Такие шрифты называют масштабируемыми шрифтами. Например, шрифт TrueType (разработанный компаниями Microsoft и Apple Computer) представляет собой описание того, как следует рисовать символы в тексте. Или шрифт PostScript (разработанный корпорацией Adobe Systems), который предоставляет средства для описания символов как графических данных.
Векторный формат распространен в автоматизированном проектировании. Он позволяет создавать трехмерные объекты и управлять их отображением на мониторе.
Однако, векторный формат не обеспечивает высокого фотографического качества изображений, которое доступно в растровом формате. Именно поэтому растровый формат используется в современных цифровых камерах.
1.1.6.4. Представление звука
Способ кодирования звуковой информации состоит в том, что измеряется амплитуда сигнала через равные промежутки времени и записываются полученные значения. Например, последовательность 0, 1.5, 2.0, 1.8, 2.1, 2.5, 4.0, 3.0, 0 описывает волну звука, амплитуда которой сначала увеличивается, затем немного уменьшается, затем снова повышается и, наконец, падает до 0.
Звуковая волна
0 1.5 2.0 1.8 2.1 2.5 4.0 3.0 0
Амплитуда
Рис. 1.7. Звуковая волна
Такой способ кодирования, в котором частота дискретизации составляет 8000 отсчетов в секунду, используется уже давно в дальней телефонной связи. Голос на одном конце канала кодируется в виде числовых значений, отражающих амплитуду звукового сигнала, восемь тысяч раз в секунду. Эти значения затем передаются по каналам связи и используются для воспроизведения звука на приемном конце канала связи.
Может показаться, что 8000 отсчетов в секунду — это большая частота дискретизации, но для высокой точности воспроизведения музыки эта частота недостаточна. Для получения качественного звучания на современных музыкальных компакт-дисках используется частота дискретизации, равная 44 100 отсчетов в секунду.
Для данных, получаемых при каждом отсчете, отводится 16 битов памяти (или 32 бита для стереозаписей). Таким образом, для хранения одной секунды звучания требуется более миллиона битов.
Для кодирования звуков в музыкальных синтезаторах, компьютерных играх и звуках сопровождающих веб-страницы используется более экономная система кодирования, которая называется цифровым интерфейсом музыкальных инструментов (MIDI — Musical Instrument Digital Interface).
При использовании стандарта MIDI не требуется столько места в памяти, как при дискретизации звукового сигнала, так как эта система кодирует указания, как следует порождать музыку, а не сам звуковой сигнал. Точнее, MIDI кодирует информацию о том, какой инструмент должен играть, какую ноту и какова продолжительность звучания этой ноты. Это означает, что для кларнета, играющего ноту ре в течение двух секунд, потребуются три байта, а не более двух миллионов битов, как в случае дискретизации сигнала с частотой 44 100 отсчетов.
Из вышесказанного видно, что стандарт MIDI более похож на нотную запись, которую читает исполнитель, чем на само исполнение. Недостатком метода является то, что музыкальная запись в стандарте MIDI может звучать по-разному в исполнении различных музыкальных синтезаторов.
1.1.7. Двоичная система счисления
1.1.7.1. Сложение в двоичной системе счисления
Вспомним правила сложения в начальной школе по отношению к десятичной системе счисления:
0 1 0 1
+ 0 +0 +1 +1
0 1 1 10
Сумма двух чисел находится сложением чисел в правом столбце и делается запись в младший разряд полученной суммы под столбцом, а в старший разряд, если он появляется, в следующий столбец слева и продолжаем сложение.
Например, надо сложить два числа в двоичной системе счисления:
+ 00011001
00111010
Начинаем сложение 1 и 0 в правом столбце, получаем единицу, которую записываем под столбцом. Теперь мы складываем 0 и 1 в следующем столбце, получаем единицу, которую записываем под столбцом сложенных чисел. Далее складываем два нуля из следующего столбца и получаем 0. Записываем 0 под столбцом. На этом этапе процесс решения выглядит следующим образом:
+ 00011001
00111010
011
Теперь складываем две единицы в следующем столбце, получаем 10. Записываем 0 под этим столбцом, а 1 переносится влево и записывается над следующим столбцом.
1
+ 00011001
00111010
0011
Следующие три единицы (две единицы чисел и одна единица переноса) в сумме дают 11. Записываем 1 в результат, и 1 в следующий столбец слева. Теперь решение выглядит так:
1
+ 00011001
00111010
10011
Далее складываем 0, 1 и 1 переноса получаем 10 и записываем 0 под этим столбцом, а единица переноса записывается над следующим левым столбцом.
1
+ 00011001
00111010
010011
1
+ 00011001
00111010
010011
Сложение двух нулей и единицы переноса в результате дают 1, которую мы запише под этим левым столбцом. Далее сложение двух нулей в результате дают 0.
Окончательное решение выглядит так:
1
+ 00011001
00111010
1010011
+ 00011001
00111010
01010011
1.1.7.2. Дроби в двоичной системе счисления
При представлении дробей чтобы отделить целую часть от дробной части используется точка. В курсе математики в школе в качестве разделителя дробной и целой частей используется запятая. В вычислительной технике используют точку, чтобы избежать неоднозначности понимания.
Цифры слева от точки являются целой частью числа и записываются в двоичном представлении по принципу, изложенному выше. Цифры справа от точки являются дробной частью числа и записываются так же, как целые, с той лишь разницей, что каждой позиции в записи числа соответствует разряд, вес которого является дробным числом. То есть вес разряда, соответствующего первой позиции после точки, равен 1 /2
(2-1 ), второй позиции — 1 /4 (2-2 ), следующей — 1 /8 (2-3 ) и т. д.
Как видно из сказанного, эта закономерность представляет собой продолжение правила, сформулированного выше: при движении по записи числа влево вес разряда увеличивается в два раза.
Для того чтобы получить десятичное представление дробного числа из его двоичной записи, нужно выполнить те же действия, что и в случае с целым числом: надо умножать значение каждой цифры на вес соответствующего разряда.
Как перевести двоичное число 111.011 в десятичную дробь 73 /8 , показано на рис. 1.8.
Двоичная запись
1 |
1 |
1. |
0 |
1 |
1 |
||
1 |
х Одна восьмая = 1 /8 |
||||||
0 |
х Одна четвертая = 1 /4 |
||||||
1 |
х Одна вторая = 0 |
||||||
1 |
х Один = 1 |
||||||
0 |
х Два = 2 |
||||||
1 |
х Четыре = 4 |
Значение Вес Сумма 73 /8
бита разряда
Рис. 1.8. Перевод чисел из двоичной системы в десятичную
При сложении двух чисел поступают также как и при сложении целых чисел.
Чтобы получить сумму двух дробных чисел, записываем числа одно под другим так, чтобы точки находились в одном столбце, и выполняем те же действия, как с целыми числами. Например, числа 10.011 и 100.11 в сумме дают 111.001:
+ 01.101
11.010
100.111
1.1.8. Хранение целых чисел
1.1.8.1. Представление в двоичном дополнительном коде
Наиболее распространенной системой представления целых чисел в современных компьютерах является представление в двоичном дополнительном коде (twos complement notation). В этой системе используется фиксированное число битов для представления числового значения.
В современном оборудовании используется кодировка, в которой каждому значению отводится 32 бита. Такой подход позволяет хранить большой диапазон чисел. Для наглядности рассмотрим этот подход на коротких системах представления.
На рисунке 1.9 изображены два представления в двоичном дополнительном коде: набор из трех битов и набор из четырех битов.
Такая таблица кодов строится, начиная с цепочки, состоящей из одних нулей, затем отсчитываются значения до цепочки, состоящей из нуля, за которым следуют единицы. Эти наборы битов являются представлениями значений 0, 1, 2, 3 и т. д. Последовательности, которые являются кодами отрицательных чисел, начинаются с цепочки битов, состоящей из одних единиц. Затем отсчитываются в обратном порядке до цепочки, содержащей единицу, за которой следуют нули. Эти наборы битов представляют числа -1, -2, -3 и т. д. Если трудно считать в обратном порядке в двоичной системе счисления, можно начать считать с конца таблицы, с цепочки, состоящей из единицы и нулей, и считать до цепочки, состоящей из единиц.
Надо обратить внимание на то, что в представлении в двоичном дополнительном коде крайний слева разряд обозначает знак числа. Поэтому его называют знаковым разрядом (sign bit). Знаковый разряд отрицательных чисел равен 1, а положительных чисел — 0.
Есть удобное соотношение между записью положительного и отрицательного чисел, одинаковых по модулю. Они совпадают, если их читать справа налево, до первой единицы включительно, а с этого места они являются дополнениями друг друга. Дополнением набора битов является набор битов, который получается путем замены всех нулей на единицы и наоборот, т.е. дополнении до N -1, где N — минимальное число, вызывающее перенос в следующий разряд при данном количестве разрядов (для 4-битового кода это 16). Это дополнение называют также инверсией . Например, 0010 и 1110 — дополнения друг друга.
Наборы из трех бит Наборы из четырех битов
Набор битов |
Значение |
011 |
3 |
010 |
2 |
001 |
1 |
000 |
0 |
111 |
-1 |
110 |
-2 |
101 |
-3 |
100 |
-4 |
Набор битов |
Значение |
0111 |
7 |
0110 |
6 |
0101 |
5 |
0100 |
4 |
0011 |
3 |
0010 |
2 |
0001 |
1 |
0000 |
0 |
1111 |
-1 |
1110 |
-2 |
1101 |
-3 |
1100 |
-4 |
1011 |
-5 |
1010 |
-6 |
1001 |
-7 |
1000 |
-8 |
Рис. 1.9. Таблицы кодов 3-х и 4-х битовых
Например, возьмем два числа в 4-битовом представлении 2 и -2. Они заканчиваются на 10, но запись числа 2 начинается с 00, а числа -2 — с 11. Это наблюдение может помочь найти алгоритм для получения записи отрицательного числа из записи положительного и наоборот, когда эти числа равны по модулю. Мы просто переписываем исходную последовательность справа налево до тех пор, пока не будет переписана единица, затем мы переписываем оставшиеся разряды, заменяя их дополнениями (т.е. заменяя нули на единицы, а единицы на нули). Обратите внимание, что самое маленькое отрицательное число в представлении в дополнительном коде не имеет положительного эквивалента.
Представление числа 6 и -6 в 4-битовом дополнительном коде
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
Рис. 1.10. Представление числа -6
в 4-битовом дополнительном коде
Исходя из свойств представления чисел в двоичном дополнительном коде можно представить алгоритм их декодирования.
Если знаковый бит записи равен 0, то эта последовательность двоичной записи числа.
Например, 0110 является представлением числа 6, потому что 110 является двоичной записью шести.
Если знаковый разряд равен 1, значит, перед нами отрицательное число и надо только найти его модуль. Переписываем исходную последовательность справа налево, пока не будет переписана 1, затем переписываем оставшиеся биты, дополняя их. И, наконец, расшифровываем полученную последовательность, как если бы она была двоичной записью числа.
Например, переведём последовательность 1010 в десятичную систему счисления. Сначала определяем - перед нами отрицательное число, так как знаковый разряд равен 1. Следовательно, переписываем запись как 0110. Определяем, что она является представлением числа 6, и делаем вывод о том, что исходный набор битов является представлением числа -6.
1.1.8.2. Сложение в двоичном дополнительном коде
Алгоритм сложения чисел в двоичном дополнительном коде такой же, как для двоичного сложения, только здесь все коды, включая результат операции, будут иметь одинаковую длину. Это значит, что если в результате сложения появляется дополнительный бит с левого края, он будет отсечен . Именно поэтому 0101 и 0010 в сумме дают 0111, а сумма 0111 и 1011 равна 0010 (0111 + 1011 = 10010, которая усекается до 0010).
Рассмотрим примеры сложения в дополнительном коде. В каждом случае десятичная запись представлена 4-битовым кодом, а результат сложения опять переведен в десятичную систему счисления.
Обратим внимание на то, что согласно правилам традиционной алгебры, которые мы изучали в школе, то в третьем примере нам бы потребовалась совсем другая операция (вычитание). С другой стороны, в двоичном дополнительном коде мы можем вычислить результат, во всех случаях применяя алгоритм сложения.
В этом и состоит главное преимущество представления чисел в двоичном дополнительном коде: сложение любых комбинаций положительных и отрицательных чисел может быть выполнено с использованием одного алгоритма и, следовательно, одной схемы.
Сложение в десятичной системе счисления |
Сложение в двоичном дополнительном коде |
Результат сложения в десятичной записи |
+ 4 3 |
+ 0100 0011 0111 |
7 |
+ -2 -3 |
+ 1110 1101 1011 |
-5 |
+ 6 -2 |
+ 0110 1110 0100 |
4 |
Рис. 1.11. Таблица сложений чисел
Например, операция вычитания 7-5 аналогична операции сложения 7 + (-5). Следовательно, если потребуется вычесть 5 (с кодом 0101) из 7 (с кодом 0111), то машина, прежде всего, заменит 5 на -5 (с кодом 1011) и затем выполнит операцию сложения, результатом которой будет 0010, то есть код числа 2:
- 7 - 0111 + 0111
5 0101 1011
2 0010
1.1.8.3. Проблема переполнения
Есть проблема в любом представлении чисел в двоичном дополнительном коде - ограничение на размер чисел, представляемых данным количеством битов. Например, нельзя получить правильного ответа, выполнив операцию сложения 5 + 4, если будем выполнять сложение в 4-битовом двоичном дополнительном коде. Ведь у числа 9 нет соответствующей записи. На самом деле мы получим ответ — 7. Такая ошибка называется переполнением (overilov), она возникает, когда нужно сохранить число, не попадающее в диапазон чисел, которые могут быть представлены в двоичном дополнительном коде. Переполнение возникает, когда нужно сложить два положительных или два отрицательных числа. В обоих случаях можно проверить, есть ли ошибка, посмотрев на знаковый разряд полученного результата, то есть переполнение возникает, если сумма двух положительных чисел имеет код отрицательного числа или сумма двух отрицательных чисел имеет код положительного числа.
Большинство машин манипулируют более длинными последовательностями битов, чем те, которые здесь обсуждаются, и операции с большими числами не вызывают переполнения. В настоящее время принято использовать 32-битовые последовательности для хранения чисел в двоичном дополнительном коде, что позволяет порождать числа до
2 147 438 647, прежде чем возникнет переполнение. Если нужно записать большее число, то можно использовать более длинный код или можно изменить единицы измерения. Например, использование в расчетах километров, а не метров позволит уменьшить размер чисел и достичь необходимой точности вычислений.
Проблема состоит в том, что компьютер может ошибаться, и пользователь должен знать о возможной опасности такой ошибки. Программисты и пользователи из-за своей самоуверенности игнорируют тот факт, что маленькие числа могут складываться и порождать большие. Например, раньше было принято использовать 16-битовый двоичный код, который означал, что переполнение не возникнет, пока не появится значение 215 = 32 768. Например девятнадцатого сентября 1989 года компьютерная система в госпитале допустила ошибку после долгих лет надежной работы. Исследование показало, что тот день был 32 768-м днем после 1 января 1900 года. Как вы думаете, какова цена этой ошибки?
1.1.8.4. Представление с избытком
Другой способ представления целочисленных значений называется представлением с избытком (excess notation). Коды, соответствующие числовым значениям, имеют одинаковую длину. Для того чтобы составить таблицу кодов, сначала нужно выбрать длину последовательности битов, затем выписывать эти наборы в прямом порядке. Можно заметить, что код с одной 1 в позиции старшего разряда находится примерно посередине списка. Пусть он будет представлением нуля; коды до него используются для представления 1, 2, 3 и т. д., коды после него используются для -1,-2, -3 и т. д. Окончательный вариант таблицы 4-битовых кодов изображен в таблицах на рис 1.12. Можно заметить, что число 5 имеет код 1101, а число -5 имеет код 0011. Обратите внимание на то, что различие между представлением в двоичном дополнительном коде и избыточном коде заключается в том, что знаковый разряд у них имеет противоположное значение.
Таблица кодов, изображенная на рисунке 1.12, называется представлением с избытком восемь. Для того чтобы понять, почему это так, сначала переведём коды из таблицы в десятичную систему счисления, как обычный двоичный код, и сравним полученные значения со значениями в таблице. В каждом случае мы обнаружим, что полученный результат превосходит код в представлении с избытком на восемь. Например, последовательность 1100 в двоичной системе является кодом 12, но в представлении с избытком она является кодом 4; последовательность 0000 в двоичной системе является кодом 0, а в представлении с избытком — кодом 8. Точно так же 5-битовое представление с избытком будет называться представлением с избытком 16, так как, например, последовательность 10000 будет кодом 0, а не 16, как в двоичной записи.
Можно убедиться, что 3-битовое представление с избытком является представлением с избытком четыре.
Набор битов |
Значение |
Набор битов |
Значение |
|
1111 |
7 |
111 |
3 |
|
1110 |
6 |
110 |
2 |
|
1101 |
5 |
101 |
1 |
|
1100 |
4 |
100 |
0 |
|
1011 |
3 |
011 |
-1 |
|
1010 |
2 |
010 |
-2 |
|
1001 |
1 |
001 |
-3 |
|
1000 |
0 |
000 |
-4 |
|
0111 |
-1 |
|||
0110 |
-2 |
|||
0101 |
-3 |
|||
0100 |
-4 |
|||
0011 |
-5 |
|||
0010 |
-6 |
|||
0001 |
-7 |
|||
0000 |
-8 |
Рис. 1.12. 4-битовое и 3-битовое представление с избытком
1.1.9. Хранение дробей
Для хранения чисел с дробной частью требуется хранить не только двоичное представление числа, но также позицию разделительной точки. Общепринятым способом хранения дробей является представление с плавающей точкой.
1.1.9.1. Представление с плавающей точкой
Рассмотрим представление чисел с плавающей точкой (floating-point notation) на примере. Для хранения числа будем использовать только 1 байт памяти. В машинах обычно используются более длинные коды, а этот 8-битовый формат является уменьшенным аналогом существующих систем, и позволяет объяснить основные понятия.
Сначала, старший разряд бита назовем знаковым разрядом. Как и раньше, 0 в позиции знакового разряда означает, что число положительное, 1 в позиции знакового разряда означает, что число отрицательное. Затем разделим оставшиеся в байте семь разрядов на две группы или два поля: порядок (exponent field) и мантиссу (mantissa field). Пусть первые три бита после знакового будут порядком, а оставшиеся четыре — мантиссой.
Теперь рассмотрим значение каждой из частей на примере. Байт содержит такую последовательность битов: 00101011 . Проведем анализ этой последовательности, применяя определения, данные выше: знаковый разряд равен 0 , порядок — 010 и мантисса — 1011 . Чтобы расшифровать значение, хранящееся в байте, сначала извлечем мантиссу и поместим слева от нее разделительную точку, получим: .1011 .
Позиции битов
Мантисса
Знаковый разряд Порядок
Рис. 1.13. Порядок представления дробных чисел
Затем извлечем порядок (010 ) и переведем его как 3-битовое представление с избытком в десятичную систему счисления. В нашем случае код порядка является представлением 2 . Переместим разделительную точку на 2 бита вправо (отрицательный порядок означает, что точку нужно перемещать влево). Следовательно, мы имеем последовательность
10.11 ,
которая является двоичной записью дроби 23 /4 . Затем обращаем внимание на то, что знаковый разряд равен 0 , следовательно, перед нами положительное число. Делаем вывод, что в байте 00101011 хранится число 23 /4 .
Рассмотрим еще один пример. Байт имеет последовательность: 10101010 .
Выписываем мантиссу
.1010
и перемещаем точку на один бит влево, так как порядок (010 ) в 3-битовом представлении с избытком является кодом числа -2 . Имеем последовательность 0101010 , которая является кодом 5 /32 . Знаковый разряд исходной последовательности равен 1 , значит, это число отрицательное. Делаем вывод, что последовательность 10101010 является кодом -5 /32 .
Чтобы записать число в представлении с плавающей запятой, выполним действия, обратные предыдущим. Например, чтобы записать число 11
/8
, сначала выражаем его в двоичном представлении и получаем 1.001
. Затем переписываем эту последовательность в область мантиссы слева направо, начиная с самой левой единицы в двоичной записи
. На этом этапе байт выглядит следующим образом:
1001
.
Теперь нужно заполнить поле порядка. Для этого представляем мантиссу с разделительной точкой слева и определяем число битов и направление, в котором нужно передвинуть точку, чтобы получить исходную двоичную запись. В нашем примере, чтобы получить 01011001 , нужно передвинуть точку в .1001 на один бит вправо. Следовательно, порядок равен 1, поэтому записываем 101 (код 1 в представлении с избытком 4) в поле порядка. Наконец, записываем в позицию знакового разряда 0 , потому что дробь положительная. Окончательный байт выглядит так: 01011001 .
Наиболее важным в преобразовании является заполнение поля мантиссы. Правило гласит: выписывать последовательность разрядов двоичной записи слева направо, начиная с самой левой 1 в двоичной записи. В качестве примера рассмотрим процесс записи числа 3 /8 , двоичное представление которого .011 . В этом случае мантиссой будет 1100 а не 0110.
Мантисса имеет такой вид, потому что поле мантиссы заполняется, начиная с самой левой единицы, которая появляется в двоичном представлении . Это правило исключает возможность многократной записи одного значения. Оно также означает, что мантисса чисел, не равных нулю, будет всегда начинаться с 1 . О таком представлении говорят, что оно нормализованное (normalized form). Обратите внимание, что представление нуля является особым случаем: его представление с плавающей точкой состоит из одних нулей.
1.1.9.2. Ошибка усечения
Попытаемся записать значение 25 /8 в представлении с плавающей точкой, используя для него один байт памяти. Сначала записываем 25 /8 в двоичном представлении, получаем код 10.101 .
Но, когда мы переписываем его в поле мантиссы, нам не хватает места, и самая правая 1 (которая занимает позицию с весом разряда ] /8 ) теряется.
25 /8 Исходная запись
10.101 Двоичная запись
10 10 1 Последовательность битов
_ _ _ _ 1010 Потерянный бит
Знаковый Мантисса
Порядок Рис. 1.14. Ошибка усечения
Если мы на данном этапе будем игнорировать эту проблему и продолжим заполнение поля порядка, то в результате придем к последовательности 01101010 , которая является представлением 21 /2 вместо 25 /8 . То, что произошло, называется ошибкой усечения (truncation error), или ошибкой округления (round-off error), и означает, что часть числа потеряна, потому что поле мантиссы недостаточно велико.
Если использовать более длинное поле для мантиссы, то количество таких ошибок можно уменьшить.
Например, для хранения чисел в форме представления с плавающей точкой используется, по меньшей мере, 32 бита вместо 8 битов, которые мы использовали здесь. Такой подход позволяет также увеличить поле для порядка числа. Но даже в этом формате представления иногда возникает необходимость более точных расчетов.
Другой причиной ошибки усечения может быть явление, с которым мы уже сталкивались в десятичной системе счисления: проблема бесконечных дробей, таких, например, которые появляются, когда мы пытаемся представить 1 /3 в виде десятичной дроби. Некоторые числа просто нельзя точно записать в виде десятичной дроби, независимо от количества цифр, которое мы используем.
Десятичная и двоичная системы счисления различаются тем, что в двоичной системе существует больше чисел с бесконечным представлением, чем в десятичной. Например, дробь 1 /10 является бесконечной в двоичном представлении. Представьте, какие проблемы это повлечет за собой, если неосмотрительный пользователь будет использовать представление с плавающей точкой для того, чтобы хранить и производить операции с деньгами. В особенности, если в качестве единицы измерения он будет использовать рубль, то значение в десять копеек будет записано неточно. В этом случае лучше выбрать единицей хранения данных 1 копейку так, чтобы все значения были целыми и могли быть с достаточной точностью представлены в памяти компьютера при помощи двоичного дополнительного кода.
Ошибка усечения и связанные с нею проблемы представляют большую важность для людей, работающих в области численного анализа. Этот раздел математики занимается проблемами, которые возникают при действительных расчетах, часто очень объемных и требующих высокой точности.
Следующий пример из области численного анализа. Предположим, нам нужно найти сумму следующих трех чисел, используя однобайтовое представление с плавающей точкой:
21 /2 + 1 /8 + 1 /8 .
Если мы будем складывать числа в указанном порядке, то сначала прибавим 1 /8 к 21 /2 , получим дробь 25 /8 , двоичная запись которой — 10.101 . К сожалению, когда мы сохраняем это число, возникает ошибка усечения, в результате которой полученная нами сумма будет сохранена как 21 /2 (что равно одному из слагаемых). На следующем шаге мы прибавляем к этой сумме 1 /8 . Здесь опять возникает ошибка усечения, в результате которой мы получаем неправильный ответ 21 /2 .
Теперь сложим эти числа в другом порядке. Сначала найдем сумму 1 /8 и 1 /8 , которая равна 1 /4 . В двоичном представлении 1 /4 равна .01 . Результат первого шага будет храниться в байте 00111000 , что верно. Теперь находим сумму 1 /4 и следующего числа 21 /2 , получаем значение 23 /4 , которое хранится в байте 01101011 . На этот раз мы получили правильный ответ.
Следовательно, при сложении числовых значений важен порядок их сложения. Проблема состоит в том, что при сложении большого и маленького числа, маленькое число может отсекаться. Поэтому общее правило сложения чисел звучит следующим образом: сначала складываем небольшие числа, надеясь, что в сумме они дадут число, которое можно сложить с большим. Именно так мы поступили в предыдущем примере.
Разработчики современного коммерческого программного обеспечения защищают неграмотного пользователя от таких проблем, как эта. В обычных программах табличных вычислений пользователь получит правильный ответ, если только слагаемые не различаются в 106 раз. Следовательно, если вам нужно прибавить единицу к 10 000 000 000 000 000 , вы получите 10 000 000 000 000 000 , а не 10 000 000 000 000 001 .
Проблема сложения важна в прикладных системах (например, в навигационных устройствах), так как незначительная ошибка может увеличиться в процессе дальнейших вычислений и, в конце концов, привести к серьезным последствиям, но для обычных пользователей ПК такой точности вполне достаточно.
1.1.9.3. Преобразование чисел из одной системы счисления в другую
Необходимость перевода чисел из одной системы счисления в другую объясняется тем, что компьютер работает в двоичной системе, а вводим мы данные и получаем их на экран и принтер в десятичной системе счисления . Поэтому необходимо преобразовывать вводимые данные из десятичной системы счисления в двоичную, а выводимые данные – из двоичной в десятичную. В некоторых случаях возникает необходимость преобразовывать десятичные числа в шестнадцатеричные и шестнадцатеричные в десятичные. Преобразование чисел выполняется автоматически по приведенным ниже правилам.
1. Преобразование из десятичной системы счисления в двоичную (преобразование из 10 в 2).
Число последовательно делится на основание новой системы 2 до тех пор, пока делитель не станет меньше делимого, после чего полученные нули и единицы (т.е. все остатки) выписываются в обратном порядке. Напомним, что при переводе чисел из десятичной системы в двоичную систему остатками могут быть только нули и единицы.
Пример перевода десятичного числа 12 в двоичную систему счисления приведен на рис.1.15.
Рис.1.15. Преобразование числа 12 из десятичной системы счисления в двоичную
Дробная часть десятичного числа преобразуется по другому правилу: дробную часть необходимо последовательно умножать на число 2, записывая получаемые в результате умножения целые части, после чего выписать целые части в прямом порядке. Процесс умножения продолжается до тех пор, пока дробная часть не станет равной нулю либо пока не будет достигнута заданная точность.
Пример перевода десятичного числа 0,25 в двоичную систему счисления приведен на рис.1.16.
В результате получаем двоичное число 01, т.е. 0,2510 = 0.012 .
2. Преобразование двоичных чисел в десятичные.
|
Рис.1.16. Перевод числа 0,25 в двоичную систему счисления
Для преобразования двоичного числа в десятичное необходимо записать сумму членов ряда и вычислить по следующему правилу:
a1 *2n-1 +a2 *2n-2 +…+an-1 *21 +an *20 , an+1 *2-1 +an+2 *2-2 +… [1]
где: а – цифра двоичного числа (0 или 1),
n - количество двоичных разрядов в целой части числа.
Пример перевода двоичного числа 1010 (здесь n=4) в десятичную систему (используем первую часть выражения [1] – до запятой):
10102 = 1*23 + 0*22 + 1*21 + 0*20 = 8+0+2+0 = 1010
Пример перевода дробной части двоичного числа 0.01 в десятичную систему счисления (используем вторую часть выражения [1] – после запятой):
01 = 0*2-1 + 1*2-2 = 0 + = 0,25. Получаем 0.012 = 0,2510 .
Для перевода десятичных чисел в любую другую систему счисления используется то же правило, что и в пункте 1 данного параграфа, только последовательно необходимо делить на основание этой другой системы: в восьмеричную – на число 8, в шестнадцатеричную – на число 16. Напомним, что в восьмеричной системе для записи используются цифры от 0 до 7, а в шестнадцатеричной – цифры от 0 до 9 и буквы латинского алфавита A, B, C, D, E, F (букве А соответствует десятичное число 10, букве В – число 11 и т.д.). Так, например, одно и тоже десятичное число 91 будет представлено в различных системах счисления (двоичной, четверичной, восьмеричной, десятичной и шестнадцатеричной) следующим образом:
10110112 = 11234 = 1338 = 9110 = 5B16
Обратный перевод чисел из некоторой системы счисления в десятичную выполняется также в соответствии с правилом [1], только в выражении записывается не множитель 2, а основание данной системы счисления (из четверичной – 4, из восьмеричной – 8 и т.д.).
Для быстрого перевода чисел рекомендуется использовать таблицу 1.2 (для чисел от 0 до 15) или компьютерную программу Калькулятор (в режиме Инженерный) либо воспользоваться функциями преобразования пакета Excel.
Таблица 1.2
Десятичн. число |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Двоичное число |
0 |
1 |
10 |
11 |
100 |
101 |
110 |
111 |
Шестнадц. число |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Продолжение таблицы 1.2
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
1000 |
1001 |
1010 |
1011 |
1100 |
1101 |
1110 |
1111 |
8 |
9 |
A |
B |
C |
D |
E |
F |
Часто бывает необходимым преобразовывать шестнадцатеричное число в двоичное и обратно. Для этого достаточно каждую цифру шестнадцатеричного числа записать четырьмя двоичными разрядами – тетрадой. И обратно – в двоичном числе справа налево выделить тетрады и заменить их цифрами шестнадцатеричной системы счисления.
Пример. Преобразовать число 3С12А в двоичную систему и обратно. Записываем каждую цифру четырьмя двоичными разрядами: 0011 1100 0001 0010 1010. Отбрасываем левые незначащие нули и получаем двоичное число 111100000100101010. Обратно: отделяем справа налево по 4 разряда (левые два разряда 11 – неполная тетрада) и заменяем их цифрами шестнадцатеричной системы – 3С12А.
Аналогично выполняется преобразование восьмеричного числа в двоичное и обратно. Разница состоит в том, что вместо тетрады используется триада – по три двоичных разряда на каждую цифру восьмеричного числа.
1.1.9.4. Преобразование чисел из одной системы счисления в другую с помощью ПК
В настоящее время очень удобно для преобразования чисел из одной системы счисления в другую использовать программу Excel. Для этого достаточно в открывшемся окне соответствующей функции ввести число и получить ответ.
Например, требуется преобразовать десятичное число 38 в двоичное.
Для этого в категории инженерные функции вызываем функцию ДЕС.В.ДВ:
Шаг 1:
Шаг 2:
Шаг 3, в соответствующее окно вводим число 38. Если окно разрядность не заполняется, то ПК возвращает необходимое количество разрядов двоичного числа :
Шаг 4, нажать на кнопку ОК и получить результат:
Анологичным образом поступают во всех остальных случаях.
Перечислим функции преобразования чисел из одной системы счисления в другую:
· ДЕС.В.ДВ
· ДВ.В.ДЕС
· ДЕС.В.ВОСЬМ
· ВОСЬМ.В ДЕС
· ДЕС.В .ШЕСТН
· ШЕСТН.В.ДЕС
· ДВ.В.ШЕСТН
· ШЕСТН.В.ВОСЬМ
· ВОСЬМ.В.ШЕСТН.
1.1.9.5. Машинная арифметика
Арифметические операции – сложение, умножение, вычитание и деление двоичных чисел и ряд других действий выполняет центральный процессор.
Обозначим исходные переменные буквами a, b, результат – буквой y. Каждая из переменных в двоичной системе счисления может принимать только одно из двух возможных значений – 0 или 1. Следовательно, число значений переменной у будет равно 22 = 4. Сложение y=a+b и умножение y=a*b выполняются по правилам, указанным в таблице 1.3.
Как следует из таблицы, правила сложения (кроме последней строки) и умножения совпадают с правилами арифметики.
Таблица 1.3
Сложение |
Умножение |
||||
a |
b |
Y |
a |
b |
y |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 и 1 переноса в левый старший разряд |
1 |
1 |
1 |
Пример 1. Сложить два двоичных числа 1100 и 101. Выполним это действие по правилам арифметики, * *
используя Таблицу 1.3 и складывая 1 1 0 0
цифры поразрядно справа налево. + 1 0 1
Единицы переноса отмечены звез- -----------
дочками. Результат – число 10001, 1 0 0 0 1
равное десятичному числу 17.
Т.о. 11002 +1012 = 100012 или в десятичном виде 1210 +510 = 1710 .
Пример 2. Умножить двоичное число 1100 на двоичное число 101.
Также записываем оба двоичных числа в столбик и по правилам арифметики умножаем множимое (1100) на каждый из разрядов множителя (101), используя таблицу 1.3.
В результате сложения трех 1 1 0 0 промежуточных результатов умножения х 1 0 1
получаем число 111100, что равно 1 1 0 0
десятичному числу 60. + 0 0 0 0
Т.о. операция умножения 1 1 0 0
превращается в последовательность 1 1 1 1 0 0
операций сдвига влево и сложения.
В результате получаем 11002 * 1012 = 1111002 или в десятичном формате 1210 * 510 = 6010 .
Сложение двоичных чисел считается самой простой операцией. Две другие арифметические операции над двоичными числами – вычитание и деление являются более сложными, состоят из значительно большего числа простых операций (преобразования, сдвига, сложения) и следовательно требуют большего времени выполнения центральным процессором.
Вычитание аналогично вычитанию десятичных чисел. Единственное отличие – при вычитании единицы из нуля необходимо занять единицу из старшего левого разряда, считая ее числом 2 (по аналогии с десятичной системой счисления, где занятая единица является числом 10). Центральный процессор, выполняя вычитание, использует преобразование чисел из исходного кода (прямого кода) в обратный код (1 меняется на 0, 0 меняется на единицу) и обратного в дополнительный (прибавлением единицы в младший разряд). Здесь мы приведем пример более простого способа вычитания (по аналогии с арифметикой).
Пример 3. Вычесть двоичное число 101 из двоичного числа 1100.
|
Т.о. получаем: 11002 – 1012 = 1112 , т.е. 1210 - 510 = 710 .
Деление как и в арифметике выполняется слева направо, но по правилу: если делитель меньше делимого или равен ему, в результат записывается 1, если больше - записывается 0. Далее к остатку добавляется следующая цифра делимого и деление продолжается.
Пример 4. Разделить двоичное число 1100 на двоичное число 11.
1 1 0 0 11 Первые две цифры 11 исходного числа
- 1 1 1 0 0 равны делителю. В результат записываем
0 0 0 двоичную 1. В остатке получаем 00. Сносим
0 0 0 0 следующую цифру делимого 0. Так как
делитель 11 больше 000, к результату
дописываем 0. Сносим последний нуль и получаем двоичное число 100. Т.о. 11002 / 112 = 1002 , что в десятичном формате соответствует 1210 / 310 = 410 .
Вопросы для повторения
1. Поиск какой информации вы осуществляете при работе со словарями: орфографическим, толковым, энциклопедическим?
2. Является ли поиск решения конкретной математической или физической задачи поиском информации?
3. Опишите процедуру вашего поиска в виде последовательности действий.
4. Как люди могут узнать о жизни своих предков, живших много лет назад?
5. Как хранится информация на фотопленке? В каком виде представлена эта информация?
6. Приведите примеры передачи информации в природе и обществе.
7. Приведите примеры из истории и литературы, когда при передаче информация преднамеренно искажалась. К чему это привело?
8. На уроке информатики. Вовочка (думает: Очень хочется пить!) говорит: Вера Ивановна, можно выйти? Вера Ивановна (думает: Наверное, он не знает урока и надеется, что за оставшиеся 5 минут до конца урока я не успею его спросить.) говорит: Вовочка к доске! Определите в данном примере источник информации, кодирование и декодирование, канал связи, приемник информации, помехи и причину их возникновения.
9. Проанализируйте, что мы потеряли бы или приобрели, если бы пользовались экономными кодами, без избыточности в сообщениях в общении, в художественной литературе, в точных науках? Ответ обоснуйте.
10. Приведите примеры на обработку информации
а) по строгим формальным правилам;
б) по принципу черного ящика.
11. Например, вам очень хочется узнать правило, по которому можно было бы выиграть в Лото-миллион. Как вы думаете, какая информация помогла бы вам решить эту проблему? Объясните, почему так трудно угадать это правило и возможно ли это.
Оглавление
1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ИНФОРМАТИКИ.. 1
1.1. Понятие информации и информатики. 1
1.1.1. Что такое информатика. 1
1.1.2. Структура информатики. 4
1.1.3. Влияние информатики на общество. 7
1.1.4. Сообщения, данные, сигнал. 10
1.1.5. Единицы хранения данных. 15
1.1.6. Представление чисел в памяти ЭВМ... 15
1.1.7. Двоичная система счисления. 23