- Язык как способ представления информации, двоичная форма представления информации, ее особенности и преимущества
- ВВЕДЕНИЕ
- ЯЗЫК КАК СПОСОБ ПРЕДСТАВЛЕНИЯ ИНФОРМАЦИИ.
- ДВОИЧНАЯ ФОРМА ПРЕДСТАВЛЕНИЯ ИНФОРМАЦИИ.
- Двоичное кодирование информации
- Лекция «ЯЗЫК КАК СПОСОБ ПРЕДСТАВЛЕНИЯ ИНФОРМАЦИИ. КОДИРОВАНИЕ ИНФОРМАЦИИ»
Язык как способ представления информации, двоичная форма представления информации, ее особенности и преимущества
Содержание:
ВВЕДЕНИЕ
Слово «информация» происходит от латинского слова informatio, что в переводе означает сведение, разъяснение, ознакомление. Понятие «информация» является базовым в курсе информатики, невозможно дать его определение через другие, более «простые» понятия.
В случае с понятием «информация» проблема его определения еще более сложная, так как оно является общенаучным понятием. Данное понятие используется в различных науках (информатике, кибернетике, биологии, физике и др.), при этом в каждой науке понятие «информация» связано с различными системами понятий.
Человек — существо социальное, для общения с другими людьми он должен обмениваться с ними информацией, причем обмен информацией, всегда производится на определенном языке — русском, английском и так далее. Участники дискуссии должны владеть тем языком, на котором ведется общение, тогда информация будет понятной всем участникам обмена информацией.
Для обмена информацией с другими людьми человек использует естественные языки (русский, английский, китайский и др.), то есть информация представляется с помощью естественных языков. В основе языка лежит алфавит, то есть набор символов (знаков), которые человек различает по их начертанию. В основе русского языка лежит кириллица, содержащая 33 знака, английский язык использует латиницу (26 знаков), китайский язык использует алфавит из десятков тысяч знаков (иероглифов).
Последовательности символов алфавита в соответствии с правилами грамматики образуют основные объекты языка — слова. Правила, согласно которым образуются предложения из слов данного языка, называются синтаксисом. Необходимо отметить, что в естественных языках грамматика и синтаксис языка формулируются с помощью большого количества правил, из которых существуют исключения, так как такие правила складывались исторически.
Наряду с естественными языками были разработаны формальные языки (системы счисления, язык алгебры, языки программирования и др.). Основное отличие формальных языков от естественных состоит в наличии строгих правил грамматики и синтаксиса.
Например, системы счисления можно рассматривать как формальные языки, имеющие алфавит (цифры) и позволяющие не только именовать и записывать объекты (числа), но и выполнять над ними арифметические операции по строго определенным правилам. Некоторые языки используют в качестве знаков не буквы и цифры, а другие символы, например химические формулы, ноты, изображения элементов электрических или логических схем, дорожные знаки, точки и тире (код азбуки Морзе) и другие.
Знаки могут иметь различную физическую природу. Например, для представления информации с использованием языка в письменной форме используются знаки, которые являются изображениями на бумаге или других носителях, в устной речи в качестве знаков языка используются различные звуки (фонемы), а при обработке текста на компьютере знаки представляются в форме последовательностей электрических импульсов (компьютерных кодов)
ЯЗЫК КАК СПОСОБ ПРЕДСТАВЛЕНИЯ ИНФОРМАЦИИ.
ДВОИЧНАЯ ФОРМА ПРЕДСТАВЛЕНИЯ ИНФОРМАЦИИ.
Понятие информация является одним из фундаментальных в современной науке вообще и базовым для изучаемой ними информатики. Информацию рассматривают в качестве важнейшей сущности мира, в котором мы живем.
Язык – это средство отражения и познания окружающего мира. Информационный процесс может осуществляться только при наличии языка.
Язык – универсальное средство передачи информации. В простейшем бытовом понимании с термином «информация» обычно ассоциируются некоторые сведения, данные, знания и тому подобное. Информация передается в виде сообщений, определяющих форму и представление передаваемой информации. При этом предполагается что имеется «источник информации» и «получатель информации». Информацию об окружающем нас реальном мире мы получаем в виде набора символов или сигналов. Но если эти символы или сигналы никому не понятны, то информация бесполезна. Необходим язык общения — знаковый способ представления информации.
Основа языка — алфавит — некоторый конечный упорядоченный набор символов или сигналов. Примеры алфавитов: латинский (26 символов), русский (33 символа), арабские цифры, азбука Морзе и так далее. В информатике и информационных технологиях термин «язык» имеет свое значение: совокупность символов, соглашений и правил, используемых для отображения и передачи информации, средство описания данных и алгоритмов решения задач.
В зависимости от задач, которые мы перед собой ставим, можно использовать разные способы представления информации.
Некоторый набор символов алфавита образует слово, а число этих символов есть его длина. От изменения длины слова, очевидно, будет меняться и информация, заключенная в нем. Чтобы разобраться в изменениях информации, необходима ее оценка (измерение).
Одно и та же информация может существовать в различных формах. Для представления информации удобно использовать знаковые системы. Знаковая система состоит из определенного набора знаков и из правил работы с ними.
Знак – это сущность, имеющая некоторый смысл и некоторый внешний вид. Физический носитель знака может быть различным: для передачи одного и того же знака может использоваться в устной речи – звук, в письменной речи – буква, в памяти компьютера – последовательность электрических импульсов.
Процесс перевода информации из одной формы представления в другую называют кодированием информации. С помощью двух цифр можно закодировать любое сообщение. Достоинство двоичного кодирования – простота реализации. Недостаток – длинные коды. Но в технике легче иметь дело с большим числом простых однотипных элементов, чем с большим числом сложных.
Двоичное кодирование информации
Теория кодирования – это раздел теории информации, связанный с задачами кодирования и декодирования сообщений, поступающих к потребителям и посылаемых из источников информации.
Теория кодирования близка к древнейшему искусству тайнописи – криптографии. Над разработкой различных шифров трудились многие известные ученые: философ Ф. Бэкон, математики Д.Кардано, Д. Валлис. Одновременно с развитием методов шифровки развивались приемы расшифровки, или криптоанализа.
В середине ХIХ в. ситуация изменилась. Изобретение телефона и искрового телеграфа поставило перед учеными и инженерами проблему создания новой теории кодирования. Первой ориентированной на технику системой кодирования оказалась азбука Морзе, в которой принято троичное кодирование (точка, тире, пауза).
Двоичное кодирование – один из распространенных способов представления информации. В вычислительных машинах, в роботах и станках с числовым программным управлением, как правило, вся информация, с которой имеет дело устройство, кодируется в виде слов двоичного алфавита.
Двоичный алфавит состоит из двух цифр 0 и 1.
Цифровые ЭВМ (персональные компьютеры относятся к классу цифровых) используют двоичное кодирование любой информации. В основном это объясняется тем, что построить техническое устройство, безошибочно различающее 2 разных состояния сигнала, технически оказалось проще, чем то, которое бы безошибочно различало 5 или 10 различных состояний.
К недостаткам двоичного кодирования относят очень длинные записи двоичных кодов, что затрудняет работу с ними.
Двоичная система используется в цифровой электронике, компьютерной технике. Двоичная система в современном представлении была полностью описана немецким философом и математиком Готтфридом Лейбницем в XVII веке в работе «Explication de l’Arithmetique Binaire» («Объяснение бинарной арифметики»). Компьютер обрабатывает информацию только в закодированном виде.
Кодирование и его теория своими корнями связаны с древнейшим искусством тайнописи или криптографии. Первой ориентированной на технику системой кодирования стала азбука Морзе. Это попытка двоичного кодирования, но здесь кроме двух символов — точка и тире — есть еще и третий символ — пробел (пауза). С той или иной степенью точности информацию можно разделить на небольшие элементарные части. Например, текст в книге состоит из букв, пробелов и других символов, рисунок из точек, музыка из отдельных звуков.
В двоичной системе счисления всего две цифры, называемые двоичными (binary digits). Сокращение этого наименования привело к появлению термина бит, ставшего названием разряда двоичного числа. Веса разрядов в двоичной системе изменяются по степеням двойки. Поскольку вес каждого разряда умножается либо на 0, либо на 1, то в результате значение числа определяется как сумма соответствующих значений степеней двойки. Если какой — либо разряд двоичного числа равен 1, то он называется значащим разрядом.
Создатели компьютера отдают предпочтение именно двоичной системе счисления, потому что в техническом устройстве наиболее просто реализовать два противоположных физических состояния. В компьютере «бит» является наименьшей возможной единицей информации. Объем информации, записанной двоичными знаками в памяти компьютера или на внешнем носителе информации подсчитывается просто по количеству требуемых для такой записи двоичных символов.
Каждый символ — это элементарная часть информации. Информация будет закодированной, если любая ее элементарная часть представлена в виде числа или набора чисел. Перевод с одного языка на другой с помощью словаря, зашифровка сообщения, запись алгоритма на языке программирования меняют только форму представления, внешний вид информации.
Для того чтобы при кодировании информация не потерялась и не исказилась, нужно устанавливать соответствие между двумя знаковыми системами. Составляют таблицы соответствия между знаками или группами знаков. Такие таблицы называются кодовыми. Язык является знаковой системой, соответственно в нем имеется набор знаков и список правил для работы с ними. Правила описывают способы составления из элементарных, основных знаков более сложных конструкций.
Двоичная система счисления является основной системой представления информации в памяти компьютера.
Язык некоторых компьютеров первого поколения основывался только с 50 – х годов 20 – го века, начала применяться практически во всех вычислительных машинах двоичная система, это было обусловлено:
Экономичностью аппаратной реализацией всех схем ЭВМ для радиоэлектронных элементов (радиоламп, полупроводниковых элементов), которые в основном используются в вычислительных машинах;
Более простой реализацией алгоритмов выполнения арифметических и логорических операций;
Более надежный физической реализацией основных функций, так как они имеют всего два состояния (0 и 1), это состояние надежно и помехоустойчиво.
Бит — самое короткое слово двоичного алфавита, причем цифры 0 и 1 при этом равноправны. Количество информации в двоичном коде 10100111 равно 8 бит. Но 1 бит — это очень маленькое количество информации.
Объем информации, записанной двоичными знаками в памяти компьютера или на внешнем носителе информации подсчитывается просто по количеству требуемых для такой записи двоичных символов.
Двоичное слово из восьми знаков содержит один байт информации, 1024 байта образуют килобайт, 1024 килобайта – мегабайт, а 1024 мегабайта – гигабайт.
Двоичная система используется в цифровых вычислительных устройствах, поскольку является простой и удовлетворяет следующим требованиям:
Чем меньше значений существует в системе, тем проще изготовить отдельные элементы;
Чем меньше количество состояний у элемента, тем выше помехоустойчивость и тем быстрее он может работать;
Простота создания таблиц сложения и умножения – основных арифметических операций над числами.
Система счисления в зависимости от способов изображения чисел делится на:
Примером непозиционной системы счисления может служить римская система, в которой для каждого числа используется специфическое сочетание символов, например ХIV, CXXVII и тому подобное.
Позиционная система счисления определяется ее основанием – числом используемых в ней чисел. В позиционных системах значение каждой цифры определяется ее местом в числе, любое число может быть представлено суммой произведения цифры. Среди позиционных систем счисления наибольшее распространение имеет двоичная система счисления с основанием 2. В ней используются только две цифры 0 и 1 (да – нет, ложь – истина, включено – выключено, есть сигнал – нет сигнала и тому подобное).
Переход от десятичной записи к двоичной осуществляется легко: десятичное число делится на два, затем на два делится частное, затем – новое частное и так до тех пор, пока не будет получено последнее частное (равное 1), причем каждый раз записывается остаток от деления. Выписав последнее частное (1) и вслед за ним в обратном порядке все остатки от деления исходного числа на два, мы получим двоичный эквивалент исходного числа. Чтобы записать двоичное число в десятичной системе, необходимо обратить процедуру: умножить первую цифру слева на 2, к полученному результату прибавить вторую цифру слева, полученную сумму прибавить к третьей цифре слева и так далее до тех пор, пока мы не прибавим последнюю (самую правую) цифру двоичного числа.
Десятичное число 6 в двоичной системе записывается как 0110 и расшифровывается так:
0∙2³ + 1∙2² + 1∙2¹ + 0∙2º
ля перевода необходимо разложить число по основанию системы счисления и посчитать результат.
Двоичное число 1011 можно прочесть как десятичное 11:
1∙2³ + 0∙2² + 1∙2¹ + 1∙2º
Существуют формальные правила перевода чисел из одной системы в другую, в частности, двоичного числа в десятичное и наоборот. Например, для перевода целого десятичного числа в двоичное нужно делить его пополам до тех пор, пока в остатке не образуется 0 и 1, а затем записать остатки справа налево.
Первый остаток – это младший нулевой разряд искомого числа. Последнее частное – старшая цифра искомого числа
Таким образом, 13 = 1101.
Количество цифр (бит) в числе определяет разрядность числа. Биты в числе нумеруются справа, налево начиная с нулевого разряда.
Общая формула для подсчета количества кодируемых значений в двоичной системе счисления имеет вид:
где N – количество кодируемых значений, m- число разрядов двоичной системы.
Числа, записанные в двоичной системе, требуют большего числа знаков, чем их аналоги в десятичной системе, в двоичной, и в десятичной системе суть состоит в позиционном принципе записи чисел, поэтому ясно, что современные суперкомпьютеры стали возможны благодаря тому, что четыре тысячи лет назад в Месопотамии было совершено важнейшее открытие в области обозначения чисел.
В последние годы в области прикладной математики, особенно в компьютерах, очень важное значение приобрела двоичная система счисления.
Источник
Лекция «ЯЗЫК КАК СПОСОБ ПРЕДСТАВЛЕНИЯ ИНФОРМАЦИИ. КОДИРОВАНИЕ ИНФОРМАЦИИ»
ЯЗЫК КАК СПОСОБ ПРЕДСТАВЛЕНИЯ ИНФОРМАЦИИ. КОДИРОВАНИЕ ИНФОРМАЦИИ
Язык — множество символов и совокупность правил, определяющих способы составления из этих символов осмысленных сообщений. Семантика — система правил и соглашений, определяющая толкование и придание смысла конструкциям языка.
Кодирование информации — это процесс формирования определенного представления информации. При кодировании информация представляется в виде дискретных данных. Декодирование является обратным к кодированию процессом.
В более узком смысле под термином «кодирование» часто понимают переход от одной формы представления информации к другой, более удобной для хранения, передачи или обработки. Компьютер может обрабатывать только информацию, представленную в числовой форме. Вся другая информация (например, звуки, изображения, показания приборов и т. д.) для обработки на компьютере должна быть преобразована в числовую форму. Например, чтобы перевести в числовую форму музыкальный звук, можно через небольшие промежутки времени измерять интенсивность звука на определенных частотах, представляя результаты каждого измерения в числовой форме. С помощью программ для компьютера можно выполнить преобразования полученной информации.
Аналогичным образом на компьютере можно обрабатывать текстовую информацию. При вводе в компьютер каждая буква кодируется определенным числом, а при выводе на внешние устройства (экран или печать) для восприятия человеком по этим числам строятся изображения букв. Соответствие между набором букв и числами называется кодировкой символов .
Знаки или символы любой природы, из которых конструируются информационные сообщения, называют кодами . Полный набор кодов составляет алфавит кодирования. Простейшим алфавитом, достаточным для записи информации о чем-либо, является алфавит из двух символов, описывающих два его альтернативных состояния («да» — «нет», «+» — «-«, 0 или 1).
Как правило, все числа в компьютере представляются с помощью нулей и единиц (а не десяти цифр, как это привычно для людей). Иными словами, компьютеры обычно работают в двоичной системе счисления, поскольку при этом устройства для их обработки получаются значительно более простыми. Ввод чисел в компьютер и вывод их для чтения человеком может осуществляться в привычной десятичной форме, а все необходимые преобразования выполняют программы, работающие на компьютере.
Любое информационное сообщение можно представить, не меняя его содержания, символами того или иного алфавита или, говоря иначе, получить ту или иную форму представления . Например, музыкальная композиция может быть сыграна на инструменте (закодирована и передана с помощью звуков), записана с помощью нот на бумаге (кодами являются ноты) или намагничена на диске (коды — электромагнитные сигналы).
Способ кодирования зависит от цели, ради которой оно осуществляется. Это может быть сокращение записи, засекречивание (шифровка) информации, или, напротив, достижение взаимопонимания. Например, система дорожных знаков, флажковая азбука на флоте, специальные научные языки и символы — химические, математические, медицинские и др., предназначены для того, чтобы люди могли общаться и понимать друг друга. От того, как представлена информация, зависит способ ее обработки, хранения, передачи и т.д.
Компьютер с точки зрения пользователя работает с информацией самой различной формы представления: числовой, графической, звуковой, текстовой и пр. Но мы уже знаем (упоминалось выше), что он оперирует только цифровой (дискретной) информацией. Значит, должны существовать способы перевода информации из внешнего вида, удобного пользователю, во внутреннее представление, удобное компьютеру, и обратно.
Позиционные и непозиционные системы счисления
Разнообразные системы счисления, которые существовали раньше и которые используются в наше время, можно разделить на непозиционные и позиционные системы счисления. Знаки, используемые при записи чисел, называются цифрами.
В непозиционных системах счисления от положения цифры в записи числа не зависит величина, которую она обозначает. Примером непозиционной системы счисления является римская система, в которой в качестве цифр используются латинские буквы:
В числе цифры записываются слева направо в порядке убывания. Величина числа определяется как сумма или разность цифр в числе. Если меньшая цифра стоит слева от большей цифры, то она вычитается, если справа — прибавляется. Например, VI = 5 + 1 = 6, а IX = 10 — 1 = 9, СССXXVII=100+100+100+10+10+5+1+1=327.
В позиционных системах счисления величина, обозначаемая цифрой в записи числа, зависит от ее позиции. Количество используемых цифр называется основанием системы счисления. Место каждой цифры в числе называется позицией .
Первая известная нам система, основанная на позиционном принципе — шестидесятеричная вавилонская. Цифры в ней были двух видов, одним из которых обозначались единицы, другим — десятки. Следы вавилонской системы сохранились до наших дней в способах измерения и записи величин углов и промежутков времени.
Однако наибольшую ценность для нас имеет индо-арабская десятичная система. Индийцы первыми использовали ноль для указания позиционной значимости величины в строке цифр. Эта система получила название десятичной системы счисления, так как в ней десять цифр.
Для того чтобы лучше понять различие позиционной и непозиционной систем счисления, рассмотрим пример сравнения двух чисел. В позиционной системе счисления сравнение двух чисел происходит следующим образом: в рассматриваемых числах слева направо сравниваются цифры, стоящие в одинаковых позициях. Большая цифра соответствует большему значению числа. Например, для чисел 123 и 234, 1 меньше 2, поэтому число 234 больше, чем число 123. В непозиционной системе счисления это правило не действует. Примером этого может служить сравнение двух чисел IX и VI. Несмотря на то, что I меньше, чем V, число IX больше, чем число VI.
Далее мы будем рассматривать только позиционные системы счисления. Основание системы счисления, в которой записано число, обычно обозначается нижним индексом. Например, 555 7 — число, записанное в семеричной системе счисления. Если число записано в десятичной системе, то основание, как правило, не указывается. Основание системы — это тоже число, и его мы будем указывать в обычной десятичной системе. Вообще, число x может быть представлено в системе с основанием p , как x=a n *p n +a n -1*p n-1 + a 1 *p 1 +a 0 *p 0 , где a n . a 0 — цифры в представлении данного числа.
Так, например, 1035 10 =1*10 3 +0*10 2 +3*10 1 +5*10 0 ;
1010 2 = 1*2 3 +0*2 2 +1*2 1 +0*2 0 = 10.
Наибольший интерес при работе на ЭВМ представляют системы счисления с основаниями 2, 8 и 16. Вообще говоря, этих систем счисления обычно хватает для полноценной работы, как человека, так и вычислительной машины. Однако иногда в силу различных обстоятельств приходится обращаться к другим системам счисления, например, к троичной, семеричной или системе счисления по основанию 32.
Для того чтобы нормально оперировать с числами, записанными в таких нетрадиционных системах, важно понимать, что принципиально они ничем не отличаются от привычной нам десятичной системы счисления. Сложение, вычитание, умножение в них осуществляется по одной и той же схеме.
Почему же мы не пользуемся другими системами счисления? В основном потому, что в повседневной жизни мы привыкли пользоваться десятичной системой счисления, и нам не требуется никакая другая система счисления. В вычислительных же машинах используется двоичная система счисления, так как оперировать над числами, записанными в двоичном виде, довольно просто.
Часто в информатике используют шестнадцатеричную систему, так как запись чисел в ней значительно короче записи чисел в двоичной системе. Может возникнуть вопрос: почему бы не использовать для записи очень больших чисел систему счисления, например по основанию 50? Для такой системы счисления необходимы 10 обычных цифр плюс 40 знаков, которые соответствовали бы числам от 10 до 49 и вряд ли кому-нибудь понравится работать с этими сорока знаками. Поэтому в реальной жизни системы счисления по основанию, большему 16, практически не используются.
Методику представления информации в двоичной форме можно пояснить, проведя следующую игру. Нужно у собеседника получить интересующую нас информацию, задавая любые вопросы, но получая в ответ только одно из двух ДА либо НЕТ. Известным способом получения во время этого диалога двоичной формы информации является перечисление всех возможных событий. Рассмотрим простейший случай получения информации. Вы задаете только один вопрос: «Идет ли дождь?». При этом условимся, что с одинаковой вероятностью ожидаете ответ: «ДА» или «НЕТ». Легко увидеть, что любой из этих ответов несет самую малую порцию информации. Эта порция определяет единицу измерения информации, называемую битом. Благодаря введению понятия единицы информации появилась возможность определения размера любой информации числом битов. Образно говоря, если, например, объем грунта определяют в кубометрах, то объем информации — в битах. Условимся каждый положительный ответ представлять цифрой 1, а отрицательный — цифрой 0. Тогда запись всех ответов образует многозначную последовательность цифр, состоящую из нулей и единиц, например 0100.
Люди предпочитают десятичную систему, вероятно, потому, что с древних времен считали по пальцам. Но, не всегда и не везде люди пользовались десятичной системой счисления. В Китае, например, долгое время применялась пятеричная система счисления. В ЭВМ используют двоичную систему потому, что она имеет ряд преимуществ перед другими:
для ее реализации используются технические элементы с двумя возможными состояниями (есть ток — нет тока, намагничен — ненамагничен);
представление информации посредством только двух состояний надежно и помехоустойчиво;
возможно применение аппарата булевой алгебры для выполнения логических преобразований информации;
двоичная арифметика проще десятичной (двоичные таблицы сложения и умножения предельно просты).
В двоичной системе счисления всего две цифры, называемые двоичными (binary digits). Сокращение этого наименования привело к появлению термина бит, ставшего названием разряда двоичного числа. Веса разрядов в двоичной системе изменяются по степеням двойки. Поскольку вес каждого разряда умножается либо на 0, либо на 1, то в результате значение числа определяется как сумма соответствующих значений степеней двойки. Если какой-либо разряд двоичного числа равен 1, то он называется значащим разрядом. Запись числа в двоичном виде намного длиннее записи в десятичной системе счисления.
Арифметические действия, выполняемые в двоичной системе, подчиняются тем же правилам, что и в десятичной системе. Только в двоичной системе счисления перенос единиц в старший разряд возникает чаще, чем в десятичной. Вот как выглядит таблица сложения в двоичной системе:
1 + 1 = 10 (перенос в старший разряд)
Таблица умножения для двоичных чисел еще проще:
Рассмотрим подробнее, как происходит процесс умножения двоичных чисел. Пусть надо умножить число 1101 на 101 (оба числа в двоичной системе счисления). Машина делает это следующим образом: она берет число 1101 и, если первый элемент второго множителя равен 1, то она заносит его в сумму. Затем сдвигает число 1101 влево на одну позицию, получая тем самым 11010, и если, второй элемент второго множителя равен единице, то тоже заносит его в сумму. Если элемент второго множителя равен нулю, то сумма не изменяется.
Двоичное деление основано на методе, знакомом вам по десятичному делению, т. е. сводится к выполнению операций умножения и вычитания. Выполнение основной процедуры — выбор числа, кратного делителю и предназначенного для уменьшения делимого, здесь проще, так как таким числом могут быть только либо 0, либо сам делитель.
Следует отметить, что большинство калькуляторов, реализованных на компьютере, позволяют осуществлять работу в системах счисления с основаниями 2, 8, 16 и, конечно, 10.
При наладке аппаратных средств компьютера или создании новой программы возникает необходимость «заглянуть внутрь» памяти машины, чтобы оценить ее текущее состояние. Но там все заполнено длинными последовательностями нулей и единиц двоичных чисел. Эти последовательности очень неудобны для восприятия человеком, привыкшим к более короткой записи десятичных чисел. Кроме того, естественные возможности человеческого мышления не позволяют оценить быстро и точно величину числа, представленного, например, комбинацией из 16 нулей и единиц.
Для облегчения восприятия двоичного числа решили разбивать его на группы разрядов, например, по три или четыре разряда. Эта идея оказалась очень удачной, так как последовательность из трех бит имеет 8 комбинаций, а последовательность из 4 бит — 16. Числа 8 и 16 являются степенями двойки, поэтому легко находить соответствие с двоичными числами. Развивая эту идею, пришли к выводу, что группы разрядов можно закодировать, сократив при этом длину последовательности знаков. Для кодировки трех битов требуется восемь цифр, поэтому взяли цифры от 0 до 7 десятичной системы. Для кодировки же четырех битов необходимо шестнадцать знаков; для этого взяли 10 цифр десятичной системы и 6 букв латинского алфавита: A, B, C, D, E, F. Полученные системы, имеющие основания 8 и 16, назвали соответственно восьмеричной и шестнадцатеричной.
В восьмеричной (octal) системе счисления используются восемь различных цифр 0, 1, 2, 3, 4, 5, 6, 7. Основание системы — 8. При записи отрицательных чисел перед последовательностью цифр ставят знак минус. Сложение, вычитание, умножение и деление чисел, представленных в восьмеричной системе, выполняются весьма просто подобно тому, как это делают в общеизвестной десятичной системе счисления. В различных языках программирования запись восьмеричных чисел начинается с 0, например, запись 011 означает число 9.
В шестнадцатеричной (hexadecimal) системе счисления применяется десять различных цифр и шесть первых букв латинского алфавита. При записи отрицательных чисел слева от последовательности цифр ставят знак минус. Для того чтобы при написании компьютерных программ отличить числа, записанные в шестнадцатеричной системе, от других, перед числом ставят 0x. То есть 0x11 и 11 — это разные числа. В других случаях можно указать основание системы счисления нижним индексом.
Шестнадцатеричная система счисления широко используется при задании различных оттенков цвета при кодировании графической информации (модель RGB). Так, в редакторе гипертекста Netscape Composer можно задавать цвета для фона или текста как в десятичной, так и шестнадцатеричной системах счисления.
Перевод чисел из одной системы счисления в другую
Представление чисел в развернутой форме одновременно является способом перевода чисел в десятичную систему из любой другой позиционной системы счисления. Достаточно подсчитать результат по правилам десятичной арифметики.
Например, надо получить десятичные эквиваленты чисел: 101,01 2 ; 673,2 8 ; 15AC 16 .
Перевод десятичного числа в другую систему счисления может выполняться разными способами. При этом надо учитывать, что алгоритмы перевода целых чисел и правильных дробей будут отличаться. Для смешанного числа целая и дробная части переводятся отдельно по соответствующим алгоритмам. В итоговой записи искомого они объединяются и разделяются запятой.
Так называемый метод поэтапного деления заключается в последовательном целочисленном делении исходного числа и получаемых неполных частных на основание той системы счисления, в которую осуществляется перевод. Остатки от деления составляют искомое число.
Алгоритм перевода целого десятичного числа N в позиционную систему с основанием p :
Разделить нацело число N на p .
Полученный остаток от деления дает цифру, стоящую в нулевом разряде p -ичной записи числа N .
Полученное частное снова разделить нацело на p и снова запомнить полученный остаток — это цифра первого разряда, и т.д.
Такое последовательное деление продолжается до тех пор, пока частное не станет равным 0 .
Цифрами искомого числа являются остатки от деления, выписанные слева направо начиная с последнего полученного остатка.
Для оформления записи перевода предлагается один из возможных способов: слева от черты записываются неполные частные от целочисленного деления на основание, а справа — остатки от деления.
Например, надо перевести десятичное число 26 в двоичную, троичную и шестнадцатеричную системы счисления.
Результат: 26 10 =11010 2 , 26 10 =222 3 , 26=1A 16 .
Алгоритм перевода правильной десятичной дроби N в позиционную систему с основанием p :
Умножить данное число на новое основание p .
Целая часть полученного произведения является цифрой старшего разряда искомой дроби.
Дробная часть полученного произведения вновь умножается на p , и целая часть результата считается следующей цифрой искомой дроби.
Операции продолжать до тех пор, пока дробная часть не окажется равной нулю либо не будет достигнута требуемая точность.
Например, надо перевести десятичную дробь 0,375 в двоичную, троичную и шестнадцатеричную систему счисления. Перевод выполнить с точностью до третьего знака.
Наиболее часто встречающиеся системы счисления — это двоичная, шестнадцатеричная и десятичная. Как же связаны между собой представления числа в различных системах счисления? Рассмотрим различные способы перевода чисел из одной системы счисления в другую на конкретных примерах.
Пусть требуется перевести число 567 из десятичной системы счисления в двоичную систему. Сначала определим максимальную степень двойки, такую, чтобы два в этой степени было меньше или равно исходному числу. В нашем случае это 9, т. к. 2 9 =512, а 2 10 =1024, что больше начального числа. Таким образом, мы получим число разрядов результата. Оно равно 9+1=10. Поэтому результат будет иметь вид 1ххххххххх, где вместо х могут стоять любые двоичные цифры. Найдем вторую цифру результата. Возведем двойку в степень 9 и вычтем из исходного числа: 567-2 9 =55. Остаток сравним с числом 2 8 =256. Так как 55 меньше 256, то девятый разряд будет нулем, т.е. результат примет вид 10хххххххх. Рассмотрим восьмой разряд. Так как 2 7 =128>55, то и он будет нулевым.
Седьмой разряд также оказывается нулевым. Искомая двоичная запись числа принимает вид 1000хххххх. 2 5 =32 4 =16
567=1*2 9 +0*2 8 +0*2 7 +0*2 6 +1*2 5 +1*2 4 +0*2 3 +1*2 2 +1*2 1 +1*2 0
При другом способе перевода чисел используется операция деления в столбик. Рассмотрим то же самое число 567. Разделив его на 2, получим частное 283 и остаток 1. Проведем ту же самую операцию с числом 283. Получим частное 141, остаток 1. Опять делим полученное частное на 2, и так до тех пор, пока частное не станет меньше делителя. Теперь для того, чтобы получить число в двоичной системе счисления, достаточно записать последнее частное, то есть 1, и приписать к нему в обратном порядке все полученные в процессе деления остатки.
Результат, естественно, не изменился: 567 в двоичной системе счисления записывается как 1000110111.
Эти два способа применимы при переводе числа из десятичной системы в систему с любым основанием. Для закрепления навыков рассмотрим перевод числа 567 в систему счисления с основанием 16.
Сначала осуществим разложение данного числа по степеням основания. Искомое число будет состоять из трех цифр, т. к. 16 2 =256 3 =4096. Определим цифру старшего разряда. 2*16 2 =512 2 =768, следовательно, искомое число имеет вид 2хх, где вместо х могут стоять любые шестнадцатеричные цифры. Остается распределить по следующим разрядам число 55 (567-512). 3*16=48
Второй способ состоит в осуществлении последовательного деления в столбик, с единственным отличием в том, что делить надо не на 2, а на 16, и процесс деления заканчивается, когда частное становится строго меньше 16.
Конечно, не надо забывать и о том, что для записи числа в шестнадцатеричной системе счисления, необходимо заменить 10 на A, 11 на B и так далее.
Операция перевода в десятичную систему выглядит гораздо проще, так как любое десятичное число можно представить в виде x = a 0 *p n + a 1 *p n-1 + . + a n-1 *p 1 + a n *p 0 , где a 0 . a n — это цифры данного числа в системе счисления с основанием p.
Например, переведем число 4A3F в десятичную систему. По определению, 4A3F= 4*16 3 +A*16 2 +3*16+F. Заменив A на 10, а F на 15, получим 4*16 3 +10*16 2 +3*16+15= 19007.
Пожалуй, проще всего осуществляется перевод чисел из двоичной системы в системы с основанием, равным степеням двойки (8 и 16), и наоборот. Для того чтобы целое двоичное число записать в системе счисления с основанием 2 n , нужно
данное двоичное число разбить справа налево на группы по n-цифр в каждой;
если в последней левой группе окажется меньше n разрядов, то дополнить ее нулями до нужного числа разрядов;
рассмотреть каждую группу, как n-разрядное двоичное число, и заменить ее соответствующей цифрой в системе счисления с основанием 2 n .
Источник