2.1. Форма и языки представления информации
Воспринимая информацию с помощью органов чувств, человек стремится зафиксировать ее так, чтобы она стала понятной и другим, представляя ее в той или иной форме.
Музыкальную тему композитор может наиграть на пианино, а затем записать с помощью нот. Образы, навеянные все той же мелодией, поэт может воплотить в виде стихотворения, хореограф выразить танцем, а художник — в картине.
Человек выражает свои мысли в виде предложений, составленных из слов. Слова, в свою очередь, состоят из букв. Это — алфавитное представление информации. Форма представления одной и той же информации может быть различной. Это зависит от цели, которую вы перед собой поставили. С подобными операциями вы сталкиваетесь на уроках математики и физики, когда представляете решение в разной форме. Например, решение задачи: «Найти значение математического выражения у = 5х + 3, при х = -3; -2; -1; 0; 1; 2; 3» можно представить в табличной или графической форме. Для этого вы пользуетесь визуальными средствами представления информации: числами, таблицей, рисунком. Таким образом, информацию можно представить в различной форме:
- знаковой письменной, состоящей из различных знаков, среди которых принято выделять: символьную в виде текста, чисел, специальных символов (например, текст учебника);
- графическую (например, географическая карта);
- табличную (например, таблица записи хода физического эксперимента);
- в виде жестов или сигналов (например, сигналы регулировщика дорожного движения);
- устной словесной (например, разговор).
2.2. Естественные и формальные языки.
Информация становится понятной, если она выражена языком, на котором говорят те, кому предназначена информация.
В процессе развития человеческого общества люди выработали большое число языков. Примеры языков:
- разговорные языки (в настоящее время в мире их насчитывают более 2000);
- языки мимики и жестов;
- языки чертежей, рисунков, схем;
- языки науки (математики, химии, биологии и т.д.);
- языки искусства (живописи, музыки, скульптуры, архитектуры и т.д.);
- специальные языки (азбука Брайля для слепых, азбука Морзе, Эсперанто, морской семафор и т.д.);
- алгоритмические языки (блок-схемы, языки программирования).
Язык –– это знаковая система, используемая для целей коммуникации и познания. Основой большинства языков является алфавит – набор символов, из которых можно составлять слова и фразы данного языка.
Язык характеризуется:
- набором используемых знаков;
- правилами образования из этих знаков таких языковых конструкций, как «слова», «фразы» и «тексты» (в широком толковании этих понятий);
- набором синтаксических, семантических и прагматических правил использования этих языковых конструкций.
Все языки можно разделить на естественные и искусственные.
Естественными называются «обычные», «разговорные» языки, которые складываются стихийно и в течение долгого времени. История каждого такого языка неотделима от истории народа, владеющего им. Естественный язык, предназначенный, прежде всего, для повседневного общения, имеет целый ряд своеобразных черт:
- почти все слова имеют не одно, а несколько значений;
- часто встречаются слова с неточным и неясным содержанием;
- значения отдельных слов и выражений зависят не только от них самих, но и от их окружения (контекста);
- распространены синонимы (разное звучание — одинаковый смысл) и омонимы (одинаковое звучание — разный смысл);
- одни и те же предметы могут иметь несколько названий;
- есть слова, не обозначающие никаких предметов;
- многие соглашения относительно употребления слов не формулируются явно, а только предполагаются и для каждого правила есть исключения и т.д.
Основными естественного языка являются:
- коммуникативная (функция общения);
- когнитивная (познавательная функция);
- эмоциональная (функция формирования личности);
- директивная (функция воздействия).
Искусственные языки создаются людьми для специальных целей либо для определенных групп людей: язык математики, морской семафор, язык программирования. Характерной особенностью искусственных языков является однозначная определенность их словаря, правил образования выражений и правил придания им значений.
Любой язык –– и естественный и искусственный –– обладает набором определенных правил. Они могут быть явно и строго сформулированными (формализованными), а могут допускать различные варианты их использования.
Формализованный (формальный) язык –– язык, характеризующийся точными правилами построения выражений и их понимания. Он строится в соответствии с четкими правилами, обеспечивая непротиворечивое, точное и компактное отображение свойств и отношений изучаемой предметной области (моделируемых объектов).
В отличие от естественных языков формальным языкам присущи четко сформулированные правила семантической интерпретации и синтаксического преобразования используемых знаков, а также то, что смысл и значение знаков не изменяется в зависимости от каких-либо прагматических обстоятельств (например, от контекста).
Большинство формальных языков (созданных конструкций) строится по следующей схеме: сначала выбирается алфавит, или совокупность исходных символов, из которых будут строиться все выражения языка; затем описывается синтаксис языка, то есть правила построения осмысленных выражений. Буквами в алфавите формального языка могут быть и буквы алфавитов естественных языков, и скобки, и специальные знаки и т.п. Из букв, по определенным правилам можно составлять слова и выражения. Осмысленные выражения получаются в формальном языке, только если соблюдены определенные в языке правила образования. Для каждого формального языка совокупность этих правил должна быть строго определена и модификация любого из них приводит чаще всего к появлению новой разновидности (диалекта) этого языка.
Формальные языки широко применяются в науке и технике. В процессе научного исследования и практической деятельности формальные языки обычно используются в тесной взаимосвязи с естественным языком, поскольку последний обладает гораздо большими выразительными возможностями. В то же время формальный язык является средством более точного представления знаний, чем естественный язык, а следовательно, средством более точного и объективного обмена информацией между людьми.
Формальные языки часто конструируются на базе языка математики. Веком бурного развития различных формальных языков можно считать XX век.
С точки зрения информатики, среди формальных языков наиболее значительную роль играют формальный язык логики(язык алгебры логики) и языки программирования.
Возникновение языков программирования приходится на начало 50-х годов XX века.
Языков программирования и их диалектов (разновидностей) насчитывается несколько тысяч. Классифицировать их можно по разному. Некоторые авторы разбивают все многообразие языков программирования на процедурные и декларативные. В процедурных языках преобразование данных задается с помощью описания последовательности действий над ними. В декларативных языках преобразование данных задается посредством описания отношений между самими данными. Согласно другой классификации, языки программирования можно разделить на процедурные, функциональные, логические, объектно-ориентированные. Однако любая классификация несколько условна, поскольку, как правило, большинство языков программирования включает в себя возможности языков разных типов. Особое место среди языков программирования занимают языки, обеспечивающие работу систем управления базами данных (СУБД). Часто в них выделяют две подсистемы: язык описания данных и язык манипулирования
2.3. Двоичное кодирование информации
Теория кодирования – это раздел теории информации, связанный с задачами кодирования и декодирования сообщений, поступающих к потребителям и посылаемых из источников информации.
Теория кодирования близка к древнейшему искусству тайнописи – криптографии. Над разработкой различных шифров трудились многие известные ученые: философ Ф. Бэкон, математики Д.Кардано, Д. Валлис. Одновременно с развитием методов шифровки развивались приемы расшифровки, или криптоанализа.
В середине ХIХ в. ситуация изменилась. Изобретение телефона и искрового телеграфа поставило перед учеными и инженерами проблему создания новой теории кодирования. Первой ориентированной на технику системой кодирования оказалась азбука Морзе, в которой принято троичное кодирование (точка, тире, пауза).
Двоичное кодирование – один из распространенных способов представления информации. В вычислительных машинах, в роботах и станках с числовым программным управлением, как правило, вся информация, с которой имеет дело устройство, кодируется в виде слов двоичного алфавита.
Двоичный алфавит состоит из двух цифр 0 и 1.
Цифровые ЭВМ (персональные компьютеры относятся к классу цифровых) используют двоичное кодирование любой информации. В основном это объясняется тем, что построить техническое устройство, безошибочно различающее 2 разных состояния сигнала, технически оказалось проще, чем то, которое бы безошибочно различало 5 или 10 различных состояний.
К недостаткам двоичного кодирования относят очень длинные записи двоичных кодов, что затрудняет работу с ними.
2.4. Двоичное кодирование символьной (текстовой) информации
Основная операция, производимая над отдельными символами текста — сравнение символов.
При сравнении символов наиболее важными аспектами являются уникальность кода для каждого символа и длина этого кода, а сам выбор принципа кодирования практически не имеет значения.
Для кодирования текстов используются различные таблицы перекодировки. Важно, чтобы при кодировании и декодировании одного и того же текста использовалась одна и та же таблица.
Таблица перекодировки — таблица, содержащая упорядоченный некоторым образом перечень кодируемых символов, в соответствии с которой происходит преобразование символа в его двоичный код и обратно.
Наиболее популярные таблицы перекодировки: ДКОИ-8, ASCII, CP1251, Unicode.
Исторически сложилось, что в качестве длины кода для кодирования символов было выбрано 8 бит или 1 байт. Поэтому чаще всего одному символу текста, хранимому в компьютере, соответствует один байт памяти.
Различных комбинаций из 0 и 1 при длине кода 8 бит может быть 28 = 256, поэтому с помощью одной таблицы перекодировки можно закодировать не более 256 символов. При длине кода в 2 байта (16 бит) можно закодировать 65536 символов.
| В настоящее время большая часть пользователей при помощи компьютера обрабатывает текстовую информацию, которая состоит из символов: букв, цифр, знаков препинания и др. Традиционно для того чтобы закодировать один символ используют количество информации равное 1 байту, т. е. I = 1 байт = 8 бит. При помощи формулы, которая связывает между собой количество возможных событий К и количество информации I, можно вычислить сколько различных символов можно закодировать (считая, что символы — это возможные события): К = 2I = 28 = 256, т. е. для представления текстовой информации можно использовать алфавит мощностью 256 символов. Суть кодирования заключается в том, что каждому символу ставят в соответствие двоичный код от 00000000 до 11111111 или соответствующий ему десятичный код от 0 до 255. Необходимо помнить, что в настоящее время для кодировки русских букв используют пять различных кодовых таблиц (КОИ — 8, СР1251, СР866, Мас, ISO), причем тексты, закодированные при помощи одной таблицы не будут правильно отображаться в другой кодировке. Наглядно это можно представить в виде фрагмента объединенной таблицы кодировки символов. Одному и тому же двоичному коду ставится в соответствие различные символы. |
| Двоичный код | Десятичный код | КОИ8 | СР1251 | СР866 | Мас | ISO |
| 11000010 | 194 | б | В | — | — | Т |
Впрочем, в большинстве случаев о перекодировке текстовых документов заботится не пользователь, а специальные программы — конверторы, которые встроены в приложения.
Начиная с 1997 г. последние версии Microsoft Windows&Office поддерживают новую кодировку Unicode, которая на каждый символ отводит по 2 байта, а, поэтому, можно закодировать не 256 символов, а 65536 различных символов.
Чтобы определить числовой код символа можно или воспользоваться кодовой таблицей, или, работая в текстовом редакторе Word 6.0 / 95. Для этого в меню нужно выбрать пункт «Вставка» — «Символ», после чего на экране появляется диалоговая панель Символ. В диалоговом окне появляется таблица символов для выбранного шрифта. Символы в этой таблице располагаются построчно, последовательно слева направо, начиная с символа Пробел (левый верхний угол) и, кончая, буквой «я» (правый нижний угол).
Для определения числового кода символа в кодировке Windows (СР1251) нужно при помощи мыши или клавиш управления курсором выбрать нужный символ, затем щелкнуть по кнопке Клавиша. После этого на экране появляется диалоговая панель Настройка, в которой в нижнем левом углу содержится десятичный числовой код выбранного символа.
2.5 Общие сведения о системах счисления
Под системой счисления понимается способ изображения чисел, например на бумаге, а также модель их представления в аппаратуре вычислительных и других цифровых устройств.
Все имеющиеся системы счисления можно разделить на две большие группы позиционные и непозиционные системы. Непозиционные системы — это системы, в которых значение числа не зависит от позиции цифр в числе, а определяется просто как сумма цифр входящих в число. То есть неважно, где стоит конкретная цифра в начале, в конце или в середине числа. Классическим примером непозиционной системы счисления является римская система (римские числа).
Например: I — один; II — два; III — три; V — пять; VI — шесть; Х — десять; XII — двенадцать;XX — двадцать.
Но при всей своей простоте и красоте непозиционные системы счисления имеют два существенных недостатка. Первый недостаток связан с изображением больших чисел. Здесь запись большого числа получается очень длинной и громоздкой. Часто запись числа всего лишь в два раза большего, оказывается в два раза длиннее. Второй существенный недостаток непозиционных систем кроется в отсутствии простых и детерминированных алгоритмов арифметических действий над числами, записанными в этих системах. Поэтому непозиционные системы счисления широкого распространения не нашли.
В позиционных системах напротив, значение числа зависит от позиции цифр входящих в его изображение. Например, в нашей родной десятичной системе счисления числа 12 — двенадцать и 21 — двадцать один имеют один и тот же набор цифр, но по значению отличаются почти в два раза. Также, обратите внимание, что число, увеличившись почти в два раза, совсем не изменило длину своей записи. А для увеличения числа в десять раз, запись удлинится всего на одну цифру (210 — двести десять). Также говорят, что в позиционной системе счисления от позиции цифры зависит ее вес. В числе 12 двойка указывает количество единиц, в числе 21 — количество десятков, а в числе 210 — количество сотен. По мере перемещения цифры влево (в сторону старших разрядов) увеличивается ее вес.
Но самым полезным свойством позиционных систем является наличие простых и детерминированных алгоритмов арифметических действий над числами, представленными в этих системах. Причем эти алгоритмы не зависят от значения самих чисел, от того насколько они велики или малы. Все действия с числами сводятся к действиям над их разрядами (цифрами, входящими в соответствующие разряды).
Благодаря своим достоинствам позиционные системы счисления оказались практически единственными используемыми в жизни людей и особенно в технике. Заметим сразу, в технике используются не такие системы как у людей. Среди людей, почти везде, используется так называемая десятичная система счисления. Ученые утверждают, что это связано с количеством пальцев на двух руках. В технике же, почти всегда двоичная, а также вспомогательные к ней восьмеричная и шестнадцатеричная. Хотя теоретически можно построить бесконечное количество позиционных систем, на практике наибольшую популярность снискали эти три.
Что означают эти названия и чем отличаются системы друг от друга? Названия происходят от основания системы счисления — это главнейший параметр позиционных систем. А под основанием понимается количество цифр используемых для изображения числа. Так в привычной для нас десятичной системе используется десять цифр (0,1,2…9). Ученые утверждают, что это связано с количеством пальцев на двух руках. В шестнадцатеричной — шестнадцать, в восьмеричной — восемь, а в двоичной всего лишь две (0 и 1).
Для примера посмотрим, как выглядит число двадцать девять в различных системах счисления:
Десятичная — 2910
Шестнадцатеричная — 1D16
Восьмеричная — 358
Двоичная — 111012
Обратите внимание, чтобы не было путаницы, справа внизу от записи числа маленькими цифрами указывается основание системы счисления в виде десятичного числа.
2.6. Десятичная система счисления
Десятичная система счисления — это всем нам привычная и хорошо известная позиционная система счисления, но мы начнем изучение именно с нее и рассмотрим ее с позиций, которые помогут нам понять другие непривычные нам системы счисления.
Итак, основанием системы является число десять (10), это значит что для изображения чисел используется десять цифр (0,1,2,3,4,5,6,7,8,9).
Давайте просто посчитаем в этой системе, будем считать и записывать числа из имеющихся в нашем распоряжении цифр:
Ноль — 0;
Один — 1;
Два — 2;
Три — -3
Четыре – 4
Пять – 5
Шесть – 6
Семь – 8
Восемь — 8;
Девять — 9;
А что делать дальше? Все цифры кончились. Как же изобразить число десять? Чтобы выкрутится из ситуации, введем новое понятие – «десяток» и скажем, что десять — это один десяток и ноль единиц. А это уже можно и записать – «10».
Итак, Десять — 10 (один десяток, ноль единиц)
Одиннадцать — 11 (один десяток, одна единица)
. . .
и так далее…
. . .
Двадцать — 20 (два десятка, ноль единиц)
. . .
и так далее…
. . .
Девяносто девять — 99 (девять десятков, девять единиц)
А дальше опять нужно вводить новое понятие – «сотня»
Сто — 100 (одна сотня, ноль десятков, ноль единиц)
. . .
и так далее…
. . .
И так всегда, когда нам перестает хватать цифр для отображения следующего числа, мы укрупняем единицы счета (т.е. считаем десятками, сотнями и т.д.) и записываем число с удлинением на один разряд.
Рассмотрим число 4329 записанное в десятичной системе счисления. Про него можно сказать, что оно содержит: четыре тысячи, три сотни, два десятка и девять единиц. И получить его значение через входящие в него цифры можно следующим образом.
4329 = 4*1000+3*100+2*10+9*1, здесь и далее знак * (звездочка) означает умножение.
Но ряд чисел 1000, 100, 10, 1 есть не что иное, как целые степени числа 10 (основания системы счисления) и поэтому можно записать:
4329 = 4*103+3*102+2*101+9*100
Аналогично для дробного числа (десятичной дроби) например: 0.235 (ноль целых двести тридцать пять тысячных), про него можно сказать, что оно содержит: две десятых доли, три сотых доли и пять тысячных долей. И его значение можно вычислить следующим образом :
0.235 = 2*0.1 + 3*0.01 + 5*0.001
И здесь ряд чисел 0.1 0.01 0.001 1 есть не что иное, как целые степени числа 10 и мы также можем записать:
0.235 = 2*10-1 + 3*10-2 + 5*10-3
Для смешанного числа 752.159 аналогичным образом можем записать:
752.369 = 7*102+5*101+2*100+3*10-1+6*10-2+9*10-3
Теперь, если мы пронумеруем разряды целой части любого числа, справа налево, как 0,1,2…n (нумерация начинается с нуля!). А разряды дробной части, слева направо, как -1,-2,-3…-m, то значение любого произвольного десятичного числа может быть вычислено по формуле :
N = dn10n+dn-110n-1+…+d1101+d0100+d-110-1+d-210-2+…+d-(m-1)10-(m-1)+d-m10-m
Где: n — количество разрядов в целой части числа минус единица;
m — количество разрядов в дробной части числа
di — цифра стоящая в i-м разряде
Эта формула называется формулой поразрядного разложения десятичного числа, т.е. числа записанного в десятичной системе счисления. Но если в этой формуле число десять заменить на некоторое натуральное число q, то мы получим формулу разложения для числа, выраженного в системе счисления с основанием q:
N = dnqn+dn-1qn-1+…+d1q1+d0q0+d-1q-1+d-2q-2+…+d-(m-1)q-(m-1)+d-mq-m
С помощью последней формулы мы всегда можем получить значение числа записанного в любой позиционной системе счисления.
2.7. Восьмеричная система счисления
Восьмеричная система счисления находит применение в технике в основном как средство компактной записи двоичных чисел. В прошлом была достаточно популярна, но в последнее время практически вытеснена шестнадцатеричной системой, т.к. последняя лучше ложиться на архитектуру современных цифровых устройств.
Итак, основанием системы является число восемь 8 или в восьмеричной системе 108 — это значит, что для изображения чисел используется восемь цифр (0,1,2,3,4,5,6,7). Здесь и далее маленькое число справа внизу от основной записи числа будет обозначать основание системы счисления. Для десятичной системы основание указывать не будем.
Давайте попробуем просто посчитать в этой системе, подобно тому как мы это делаем в привычной нам десятичной системе счисления. Будем считать и записывать числа из имеющихся в нашем распоряжении цифр:
Ноль — 0;
Один — 1;
Два — 2;
…
и так далее…
…
Шесть — 6;
Семь — 7;
А что делать дальше? Все цифры кончились. Как же изобразить число восемь? В десятичной системе в подобной ситуации (когда закончились цифры) мы ввели понятие десятка, здесь же введем понятие «восьмерка» и скажем, что восемь — это одна восьмерка и ноль единиц. А это уже можно и записать – «108».
Итак, Восемь — 108 (одна восьмерка, ноль единиц)
Девять — 118 (одна восьмерка, одна единица)
…
и так далее…
…
Пятнадцать — 178 (одна восьмерка, семь единиц)
Шестнадцать — 208 (две восьмерки, ноль единиц)
Семнадцать — 218 (две восьмерки, одна единица)
…
и так далее…
…
Шестьдесят три — 778 (семь восьмерок, семь единиц)
А теперь, чтобы считать дальше, нужно вводить более крупную единицу счета. Если в десятичной системе, мы в подобной ситуации вводили сотню, то в восьмеричной это будет «Шестьдесят четыре».
Шестьдесят четыре — 1008 (одна «Шестьдесят четыре», ноль восьмерок, ноль единиц)
Шестьдесят пять — 1018 (одна «Шестьдесят четыре», ноль восьмерок, одна единица)
Шестьдесят шесть — 1028 (одна «Шестьдесят четыре», ноль восьмерок, две единицы)
…
и так далее…
…
Всегда, когда у нас исчерпался набор цифр для отображения следующего числа, мы вводим более крупные единицы счета (т.е. считаем восьмерками, шестьдесят четверками и т.д.) и записываем число с удлинением на один разряд.
Рассмотрим число 53728 записанное в восьмеричной системе счисления. Про него можно сказать, что оно содержит: пять по пятьсот двенадцать, три по шестьдесят четыре, семь восьмерок и две единицы. И получить его значение через входящие в него цифры можно следующим образом.
53728 = 5*512+3*64+7*8+2*1, здесь и далее знак * (звездочка) означает умножение.
Но ряд чисел 512, 64, 8, 1 есть не что иное, как целые степени числа восемь (основания системы счисления) и поэтому можно записать:
53728 = 5*83+3*82+7*81+2*80
Подобным образом для восьмеричной дроби (дробного числа) например: 0.5728 (Сто пятьдесят семь пятьсот двенадцатых), про него можно сказать, что оно содержит: пять восьмых, семь шестьдесят четвертых и две пятьсот двенадцатых долей. И его значение можно вычислить следующим образом :
0.5728 = 5*(1/8) + 7*(1/64) + 2*(1/512)
И здесь ряд чисел 1/8; 1/64 и 1/512 есть не что иное, как целые степени числа восемь и мы также можем записать:
0.5728 = 5*8-1 + 7*8-2 + 2*8-3
Для смешанного числа 752.159 аналогичным образом можем записать:
752.364 = 7*82+5*81+2*80+1*8-1+5*8-2+9*8-3
Теперь, если мы пронумеруем разряды целой части любого числа, справа налево, как 0,1,2…n (нумерация начинается с нуля!). А разряды дробной части, слева направо, как -1,-2,-3…-m, то значение любого произвольного восьмеричного числа может быть вычислено по формуле :
N = dn8n+dn-18n-1+…+d181+d080+d-18-1+d-28-2+…+d-(m-1)8-(m-1)+d-m8-m
Где: n — количество разрядов в целой части числа минус единица;
m — количество разрядов в дробной части числа
di — цифра стоящая в i-м разряде
Эта формула называется формулой поразрядного разложения восьмеричного числа, т.е. числа записанного в восьмеричной системе счисления. Но если в этой формуле число восемь заменить на некоторое натуральное число q, то мы получим формулу разложения для числа выраженного в системе счисления с основанием q:
N = dnqn+dn-1qn-1+…+d1q1+d0q0+d-1q-1+d-2q-2+…+d-(m-1)q-(m-1)+d-mq-m
С помощью этой формулы мы всегда можем вычислить значение числа записанного не только в восьмеричной системе счисления, но и в любой другой позиционной системе.
2.8. Шестнадцатеричная система счисления
Шестнадцатеричная система счисления, на сегодняшний день является наиболее популярным средством компактной записи двоичных чисел. Очень широко используется при разработке и проектировании цифровой техники.
Как следует из названия, основанием данной системы является число шестнадцать 16 или в шестнадцатеричной системе 1016. Чтобы не было путаницы, при записи чисел в системах счисления отличных от десятичных, справа внизу от основной записи числа будем указывать основание системы счисления. Раз основанием системы является число шестнадцать, значит, для изображения чисел нам потребуется шестнадцать цифр. Первые десять цифр берутся из, привычной нам, десятичной системы (0,1,..,8,9) и еще добавляются шесть букв латинского алфавита (A,B,C,D,E,F) . Например в шестнадцатеричном числе 3F7C2 буквы «F» и «С» являются шестнадцатеричными цифрами.
Счет в шестнадцатеричной системе происходит аналогично счету в десятичной. Давайте попробуем считать и записывать числа конструируя их из имеющихся шестнадцати цифр:
Ноль — 0;
Один — 1;
Два — 2;
…
и так далее…
…
Восемь — 8;
Девять — 9;
Десять — A;
Одиннадцать — B;
Двенадцать — C;
Тринадцать — D;
Четырнадцать — E;
Пятнадцать — F;
А что делать дальше? Все цифры кончились. Как же изобразить число Шестнадцать? Поступим аналогично тому, как мы поступали в десятичной системе. Там мы вводили понятие десятка, здесь же введем понятие «шестнадцать» и скажем, что шестнадцать — это одна «шестнадцать» и ноль единиц. А это уже можно и записать – «1016».
Итак, Шестнадцать — 1016 (одна «шестнадцать», ноль единиц)
Семнадцать — 1116 (одна «шестнадцать», одна единица)
…
и так далее…
…
Двадцать пять — 1916 (одна «шестнадцать», девять единиц)
Двадцать шесть – 1А16 (одна «шестнадцать», десять единиц)
Двадцать семь – 1В16 (одна «шестнадцать», одиннадцать единиц)
…
и так далее…
…
Тридцать – 1Е16 (одна «шестнадцать», четырнадцать единиц)
Тридцать один — 1F16 (одна «шестнадцать», пятнадцать единиц)
Тридцать два — 2016 (две «шестнадцать», ноль единиц)
Тридцать три — 2116 (две «шестнадцать», одна единица)
…
и так далее…
…
Двести пятьдесят пять — FF16 (пятнадцать по «шестнадцать», пятнадцать единиц)
А теперь, чтобы считать дальше, нужно вводить более крупную единицу счета. Если в десятичной системе, мы в подобной ситуации вводили сотню, то в шестнадцатеричной это будет «Двести пятьдесят шесть».
Двести пятьдесят шесть — 10016 (одна «Двести пятьдесят шесть», ноль по «шестнадцать», ноль единиц)
Двести пятьдесят семь — 10116 (одна «Двести пятьдесят шесть», ноль по «шестнадцать», одна единица)
Двести пятьдесят восемь — 10216 (одна «Двести пятьдесят шесть», ноль по «шестнадцать», две единицы)
…
и так далее…
…
Всегда, когда у нас исчерпался набор цифр для отображения следующего числа, мы вводим более крупные единицы счета (т.е. считаем по «шестнадцать», по «Двести пятьдесят шесть» и т.д.) и записываем число с удлинением на один разряд.
Рассмотрим число 3E2C16 записанное в шестнадцатиричной системе счисления. Про него можно сказать, что оно содержит: три по четыре тысячи девяносто шесть, «E» (четырнадцать) по двести пятьдесят шесть, два по шестнадцать и «С» (двенадцать) единиц. И получить его значение через входящие в него цифры можно следующим образом.
3E2C16 = 3*4096+14*256+2*16+12*1, здесь и далее знак * (звездочка) означает умножение.
Но ряд чисел 4096, 256, 16, 1 есть не что иное, как целые степени числа шестнадцать (основания системы счисления) и поэтому можно записать:
3E2C16 = 3*163+14*162+2*161+12*160
Подобным образом для шестнадцатеричной дроби (дробного числа) например: 0.5A216 про него можно сказать, что оно содержит: пять шестнадцатых, «A» (десять) двести пятьдесят шестых и две четыре тысячи девяносто шестых долей. И его значение можно вычислить следующим образом :
0.5A216 = 5*(1/16) + 10*(1/256) + 2*(1/4096)
И здесь ряд чисел 1/16; 1/256 и 1/4096 есть не что иное, как целые степени числа шестнадцать и мы также можем записать:
0.5A216 = 5*16-1 + 10*16-2 + 2*16-3
Для смешанного числа 7B2.1F9 аналогичным образом можем записать:
7B2.1F9 = 7*162+11*161+2*160+1*16-1+15*16-2+9*16-3
Пронумеруем разряды целой части некоторого шестнадцатеричного числа, справа налево, как 0,1,2…n (нумерация начинается с нуля!). А разряды дробной части, слева направо, как -1,-2,-3…-m, то значение некоторого шестнадцатеричного числа может быть вычислено по формуле :
N = dn16n+dn-116n-1+…+d1161+d0160+d-116-1+d-216-2+…+d-(m-1)16-(m-1)+d-m16-m
Где: n — количество разрядов в целой части числа минус единица;
m — количество разрядов в дробной части числа
di — цифра стоящая в i-м разряде
Эта формула называется формулой поразрядного разложения шестнадцатиричного числа, т.е. числа записанного в шестнадцатиричной системе счисления. Если мы в этой формуле заменим число шестнадцать на некоторое произвольное число q, то получим формулу разложения для числа, записанного в q-й системе счисления, т.е. с основанием q:
N = dnqn+dn-1qn-1+…+d1q1+d0q0+d-1q-1+d-2q-2+…+d-(m-1)q-(m-1)+d-mq-m
По этой формуле всегда можно вычислить значение числа записанного в любой позиционной системе счисления с основанием q.
2.9 Перевод чисел из одной системы счисления в другую.
Перевод чисел из одной системы счисления в другую составляет важную часть машинной арифметики. Рассмотрим основные правила перевода.
1. Для перевода двоичного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 2, и вычислить по правилам десятичной арифметики:

При переводе удобно пользоваться таблицей степеней двойки:
Таблица 1. Степени числа 2
| n (степень) | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 2n | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 |
Пример. Число 111010002 перевести в десятичную систему счисления.

2. Для перевода восьмеричного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 8, и вычислить по правилам десятичной арифметики:

При переводе удобно пользоваться таблицей степеней восьмерки:
Таблица .2. Степени числа 8
| n (степень) | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
| 8n | 1 | 8 | 64 | 512 | 4096 | 32768 | 262144 |
Пример. Число 750138 перевести в десятичную систему счисления.

3. Для перевода шестнадцатеричного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 16, и вычислить по правилам десятичной арифметики:

При переводе удобно пользоваться таблицей степеней числа 16:
Таблица 3. Степени числа 16
| n (степень) | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
| 8n | 1 | 16 | 256 | 4096 | 65536 | 1048576 | 16777216 |
Пример. Число FDA116 перевести в десятичную систему счисления.

4. Для перевода десятичного числа в двоичную систему его необходимо последовательно делить на 2 до тех пор, пока не останется остаток, меньший или равный 1. Число в двоичной системе записывается как последовательность последнего результата деления и остатков от деления в обратном порядке.
Пример. Число 2210 перевести в двоичную систему счисления.

2210=101102
5. Для перевода десятичного числа в восьмеричную систему его необходимо последовательно делить на 8 до тех пор, пока не останется остаток, меньший или равный 7. Число в восьмеричной системе записывается как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.
Пример. Число 57110 перевести в восьмеричную систему счисления.

57110=10738
6. Для перевода десятичного числа в шестнадцатеричную систему его необходимо последовательно делить на 16 до тех пор, пока не останется остаток, меньший или равный 15. Число в шестнадцатеричной системе записывается как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.
Пример. Число 746710 перевести в шестнадцатеричную систему счисления.

746710=1D2B16
7. Чтобы перевести число из двоичной системы в восьмеричную, его нужно разбить на триады (тройки цифр), начиная с младшего разряда, в случае необходимости дополнив старшую триаду нулями, и каждую триаду заменить соответствующей восьмеричной цифрой (табл. 3.3).
Пример. Число 10010112 перевести в восьмеричную систему счисления.
001 001 0112 = 1138
8. Чтобы перевести число из двоичной системы в шестнадцатеричную, его нужно разбить на тетрады (четверки цифр), начиная с младшего разряда, в случае необходимости дополнив старшую тетраду нулями, и каждую тетраду заменить соответствующей восьмеричной цифрой (табл. 3.3).
Пример. Число 10111000112 перевести в шестнадцатеричную систему счисления.
0010 1110 00112 = 2E316
9. Для перевода восьмеричного числа в двоичное необходимо каждую цифру заменить эквивалентной ей двоичной триадой.
Пример. Число 5318 перевести в двоичную систему счисления.
5318 = 1010110012
10. Для перевода шестнадцатеричного числа в двоичное необходимо каждую цифру заменить эквивалентной ей двоичной тетрадой.
Пример. Число EE816 перевести в двоичную систему счисления.
EE816 = 1110111010002
11. При переходе из восьмеричной системы счисления в шестнадцатеричную и обратно, необходим промежуточный перевод чисел в двоичную систему.
Пример 1. Число FEA16 перевести в восьмеричную систему счисления.
FEA16 = 1111111010102
111 111 101 0102 = 77528
Пример 2. Число 66358 перевести в шестнадцатеричную систему счисления.
66358 = 1101100111012
1101 1001 11012 = D9D16

Оставить комментарий