Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Тема 1.1. Сигналы, данные, информация. Меры и единицы количества и объема информации. Системы счисления и её кодирование.
Вещество (в химии) физическая субстанция со специфическим химическим составом. Различают органические и неорганические вещества (в химии), имеют агрегатные состояния (в физике).
Эне́ргия (др.-греч. ἐνέργεια «действие, деятельность, сила, мощь») скалярная физическая величина, являющаяся единой мерой различных форм движения и взаимодействия материи, мерой перехода движения материи из одних форм в другие.
Информация (от лат. informatio, разъяснение, изложение, осведомлённость) сведения о чём-либо, независимо от формы их представления.
Виды информационных процессов.
Различают три вида информационных процессов: хранение информации, передача и обработка. Чисто прикладной нагрузки эта система не несет и просто структурирует происходящие в мире процессы.
История развития вычислительной техники.
Всю историю вычислительной техники принято делить на три основных этапа:
Необходимость проводить не сложные арифметически операции появились с самого начала существования человека. Задолго до появления первых счетных машин люди изыскивали различные средства для проведения вычислений.
ДОМЕХАНИЧЕСКИЙ ПЕРИОД
Первым инструментом для счета были руки. Все арифметические операции выполнялись при помощи десяти пальцев рук. В Западной Европе существовала целая система позволяющая представлять на пальцах числа до 9999.
Счет на пальцах, конечно, удобен, только с ним достаточно тяжело хранить информацию.
С возникновением у древних людей способности счета появилась необходимость в использовании приспособлений, которые смогли бы облегчить эту работу. Одно из таких орудий труда наших предков было обнаружено при раскопках поселения Дольни Вестоници на юго-востоке Чехии в Моравии. Обыкновенная кость с зарубками, получившая название “вестоницкая кость”, использовалась ими для ведения счета предположительно за 30 тыс. лет до н. э.
Примерно к VIII веку до н. э. древними индейскими цивилизациями был придуман другой способ для записи чисел. Для этих целей они использовали узелковое письмо, в котором знаками служили камни и разноцветные ракушки, сплетенные вместе веревками.
Развитие государств Европы и Азии, а также усиление торговых отношений между ними привело к созданию совершенно нового инструмента, известного практически у всех народов. Впервые его начали применять в Вавилоне, а вскоре новое изобретение попало в Грецию, где получило свое дальнейшее развитие. Это приспособление представляло собой деревянную дощечку, посыпанную морским песком, на котором наносились бороздки. Размещенные в этих бороздках камешки обозначали цифры. При этом количество камешков в первой бороздке соответствовало единицам, во второй десяткам, в третьей сотням и т. д. Если в одной из бороздок набиралось десять камешков, то их снимали и добавляли один камешек в следующую бороздку.
Ученые назвали этот способ записи чисел единичной ("палочной") системой счисления. В ней для записи чисел применялся только один вид знаков "палочка". В наше время счётные палочки используются для обучения первоклассников.
Немного позже вместо деревянных дощечек стали использовать каменные плиты с выточенными в них желобками. Одна из таких плит была обнаружена на острове Саламин в Эгейском море в 1899 году. “Саламинская доска”, длинной полтора метра и шириной чуть боле семидесяти сантиметров, была изготовлена примерно за 300 лет до н. э. На этой мраморной плите в левой ее части было нанесено одиннадцать вертикальных линий, разделенных горизонтальной чертой, таким образом, что они образовывали десять столбцов. В правой части также было прорезано пять вертикальных линий, которые, в свою очередь, образовывали четыре столбца. По периметру плиты были также высечены буквы греческого алфавита.
В Древнем Риме “Саламинская доска” появилась, вероятно, в V-VI вв н. э. и называлась она calculi или abakuli. Для изготовления римского абака, помимо каменных плит, стали использовать бронзу, слоновую кость и даже цветное стекло. В вертикальных желобках, разделенных на два поля, также помещались камешки или мраморные шарики, при этом желобки нижнего поля служили для счета от единицы до пяти. Если в этом желобке набиралось пять шариков, то в верхнее отделение добавлялся один шарик, а из нижнего поля все шарики снимали.
Суан-пан китайская разновидность абака появилась в VI веке н. э. В XII-XIII столетиях он приобрел свою классическую форму, дошедшую до наших дней. Суан-пан представляет собой прямоугольную раму с натянутыми параллельно друг другу девятью или более нитями. Также как и римский абак, суан-пан разделен на два поля, имеющих свои названия. Большее поле называется “Земля”, а меньшее “Небо”. В большем поле на каждой веревке нанизано по пять шариков, а в меньшем всего по два. При подсчете шарики уже не снимаются с поля, они лишь передвигаются в сторону соседнего поля. Каждый шарик большего поля соответствует единице, а каждый шарик меньшего поля пяти.
Распространяясь в европейских странах, римский абак постепенно видоизменялся. В XV столетии в Англии появилась новая его форма, называемая “линейчатой доской” (line-board).
Примерно в это же время на Руси получил распространение так называемый “дощатый счет”, завезенный, видимо, купцами из Европы. Он представлял собой рамку с укрепленными горизонтальными веревками, на которые были нанизаны просверленные сливовые или вишневые косточки. Эта рамка разбивалась сначала на четыре, а затем на два счетных поля. В 1658 году в “Переписной книге деловой казны Патриарха Никона” вместо “дощатый счет” употребляется слово “счеты”. А в начале XVIII века счеты приняли свой привычный вид, который в дальнейшем не претерпевал существенных изменений. В них осталось лишь одно счетное поле, на спицах которого размещалось по десять косточек.
МЕХАНИЧЕСКИЙ ПЕРИОД
Первые идеи механизации вычислительного процесса появились в конце 15 века. Эскиз суммирующего устройства был разработан не безызвестным Леонардо да Винчи.
1642 год, французский физик Блез Паскаль создал первую механическую счетную машину. Она представляла собой шкатулку, на крышке которой, как на часах, были расположены циферблаты. На них устанавливали числа. Для цифр разных разрядов были отведены различные зубчатые колеса. Каждое предыдущее колесо соединялось с последующим с помощью одного зубца. Этот зубец вступал в сцепление с очередным колесом только после того, как были пройдены все девять цифр данного разряда.
1677 год, немецкий математик и философ Готфрид Вильгельм Лейбниц сконструировал свою счетную машину, позволяющую не только складывать и вычитать но также умножать многозначные числа. Вместо колец использовались цилиндры, на которые были нанесены цифры. Каждый цилиндр имел девять рядов выступов: один выступ на первом ряду, два на втором и так далее. Эти цилиндры были подвижны и устанавливались в определенном положении. Хоть машина Лейбница и была похожа на “Паскалину”, она имела движущуюся часть и ручку, с помощью которой можно было крутить специальное колесо или цилиндры, расположенные внутри аппарата. Такой механизм позволил ускорить повторяющиеся операции сложения, необходимые для умножения. Само повторение тоже осуществлялось автоматически.
1830 год, английский математик Чарльз Бэббидж попытался построить универсальное вычислительное устройство, т.е. компьютер. Бэббидж называл его Аналитической машиной. Именно Бэббидж додумался до того, что компьютер должен содержать память и управляться с помощью программы. Бэббидж хотел построить свой компьютер как механическое устройство, а программой собирался управлять посредством перфокарт карт из плотной бумаги с информацией наносимой с помощью отверстий (в то время они активно использовались на ткацких станках).
Дочь лорда Байрона, великого английского поэта, унаследовала свои математические способности вовсе не от него, а от матери, которую некогда Джордж Гордон Байрон окрестил «принцессой параллелограммов». Родители разошлись навсегда, когда ей не было и года, так что со своим знаменитым отцом она была вовсе не знакома… Двадцати лет она вышла замуж за лорда Кинга, ставшего впоследствии графом Лавлейс, и вела бы обычную жизнь английской леди, когда б не встреча с Чарльзом Бэббиджем.
Аду чрезвычайно заинтересовала аналитическая машина, изобретенная Бэббиджем. Она перевела и прокомментировала замечания о его машине, написала несколько программ для нее, разработала начала теории программирования. Лишь благодаря ей, мы знаем все подробности о труде Бэббиджа, который сам не удосужился описать свое детище, ограничившись подробными чертежами.
Таким образом, Ада стала первой в истории программисткой. Не удивительно, что один из современных языков программирования носит ее имя.. Однако Чарльз Бэббидж не смог довести работу до конца она оказалась слишком сложной для техники того времени. Удалось построить машину по проекту Чарльза Бэббиджа только в 200-летия со дня рождения ученого в Музее науки в Лондоне.
Первым кому удалось реализовать идеею Чарльза Бэббиджа использования перфокарт для программирования, был Герман Холлерит, разработавший машину ля обработки результатов переписи населения. Впервые использовалась в 1890 году и сократила период обработки результатов с восьми лет до трех. Американский инженер Г. Холлерит сконструировал электромеханическое вычислительное устройство табулятор. Табулятор в несколько раз превосходил арифмометр по скорости вычислений, имел память на перфокартах картонных картах, на которых пробивались (перфорировались) специальные отверстия. Определенная система отверстий изображала число. Табуляторы нашли широкое применение и были предшественниками вычислительных машин нашего времени, они использовались для учета, статистических разработок, планово-экономических и частично инженерно-технических и других расчетов в различных областях народного хозяйства СССР.
ЭЛЕКТРОННО-ВЫЧИСЛИТЕЛЬНЫЙ ЭТАП
1941 год, немецкий инженер Конрад Цузе построил небольшой компьютер на основе электромеханического реле. Но из-за войны его работы не были опубликованы.
1943 го, в США на одном из предприятий фирмы IBM Говард Эйкен создал более мощный компьютер под названием «Марк-1», который реально использовался для военных расчетов. В нем использовалось сочетание электрических сигналов и механических приводов. Программа обработки данных вводилась с перфоленты. Размеры: 15 Х 2,5 м., 750000 деталей. “Марк-1” мог перемножить два 23-х разрядных числа за 4 с.
Первая ЭВМ «ЭНИАК» (цифровой интегратор и вычислитель) была создана в США после второй мировой войны в 1946 году. В группу создателей этой ЭВМ входил один из самых выдающихся ученых XX в. Джон фон Нейман.
В 1945 году к этой работе был привлечен знаменитый математик Джон фон Нейман, который подготовил доклад об этом компьютеры. Тезисы выдвинутые фон Нейманом сформировали понятие архитектуры компьютера, которая лежит в основе построения компьютеров до настоящего времени.
«фон Неймановская» архитектура компьютера:
Такой принцип построения ЭВМ используется без особых изменений и по сей день. При этом не важно настольный стационарный это компьютер и карманный портативный.
Язык как способ представления информации.
Человек выражает свои мысли в виде предложений, составленных из слов. Слова, в свою очередь, состоят из букв. Это алфавитное представление информации. Форма представления одной и той же информации может быть различной.
Методы измерения количества информации вероятностный и алфавитный.
Алфавитный подход к измерению информации не связывает кол-во информации с содержанием сообщения. Алфавитный подход - объективный подход к измерению информации. Он удобен при использовании технических средств работы с информацией, т.к. не зависит от содержания сообщения. Кол-во информации зависит от объема текста и мощности алфавита. Ограничений на max мощность алфавита нет, но есть достаточный алфавит мощностью 256 символов. Этот алфавит используется для представления текстов в компьютере. Поскольку 256=28, то 1символ несет в тексте 8 бит информации.
Вероятностный подход к измерения информации. Все события происходят с различной вероятностью, но зависимость между вероятностью событий и количеством информации, полученной при совершении того или иного события можно выразить формулой которую в 1948 году предложил Шеннон.
Формула Шеннона.
I - количество информации
N количество возможных событий
pi вероятности отдельных событий
Количество информации - это мера уменьшения неопределенности.
1 БИТ такое кол-во информации, которое содержит сообщение, уменьшающее неопределенность знаний в два раза. БИТ- это аименьшая единица измерения информации
Единицы измерения информации: 1байт = 8 бит
1Кб (килобайт) = 210 байт = 1024 байт
1Мб (мегабайт) = 210 Кб = 1024 Кб
1Гб (гигабайт) = 210 Мб = 1024 Мб
Передача информации физический процесс, посредством которого осуществляется перемещение информации в пространстве. Записали информацию на диск и перенесли в другую комнату. Данный процесс характеризуется наличием следующих компонентов:
Кодирование- это трансформирование передаваемого сообщения в послание или сигнал, который может быть передан.
Декодирование это перевод символов отправителя в мысли получателя. Оно включает восприятие (факт получения) послания получателем, его интерпретацию (как понял) и оценку (что и как принял). Если символы, выбранные отправителем, имеют точно такое же значение для получателя, последний будет знать, что именно имел в виду отправитель, когда формулировалась его идея.
В дискретной системе связи при отсутствии помех информация на выходе канала связи (канала ПИ) полностью совпадает с информацией на его входе, поэтому скорость передачи информации численно равна производительности источника сообщений:
.
При наличии помех часть информации источника теряется и скорость передачи информации оказывается меньшей, чем производительность источника. Одновременно в сообщение на выходе канала добавляется информация о помехах(рис.5).
Поэтому при наличии помех необходимо учитывать на выходе канала не всю информацию, даваемую источником, а только взаимную информацию:
бит/с.
На основании формулы (20) имеем
или
,
где H¢(x) - производительность источника;
H¢(x/y) - ²ненадёжность “ канала(потери) в единицу времени;
H¢(y) - энтропия выходного сообщения в единицу времени;
H¢(y/x)=H(n) энтропия помех ( шума) в единицу времени.
Пропускной способностью канала связи (канала передачи информации) C называется максимально возможная скорость передачи информации по каналу
.
Для достижения максимума учитываются все возможные источники на выходе и все возможные способы кодирования.
Таким образом, пропускная способность канала связи равна максимальной производительности источника на входе канала, полностью согласованного с характеристиками этого канала, за вычетом потерь информации в канале из-за помех.
В канале без помех C=max H¢(x), так как H¢(x/y)=0. При использовании равномерного кода с основанием k, состоящего из n элементов длительностью tэ, в канале без помех
,
при k=2 бит/c.
Для эффективного использования пропускной способности канала необходимо его согласование с источником информации на входе. Такое согласование возможно как для каналов связи без помех, так и для каналов с помехами на основании двух теорем, доказанных К.Шенноном.
1-ая теорема (для канала связи без помех):
Если источник сообщений имеет энтропию H (бит на символ), а канал связи пропускную способность C (бит в секунду), то можно закодировать сообщения таким образом, чтобы передавать информацию по каналу со средней скоростью, сколь угодно близкой к величине C, но не превзойти её.
К.Шеннон предложил и метод такого кодирования, который получил название статистического или оптимального кодирования. В дальнейшем идея такого кодирования была развита в работах Фано и Хаффмена и в настоящее время широко используется на практике для “cжатия сообщений”.
2-ая теорема (для каналов связи с помехами):
Если пропускная способность канала равна C, а производительность источника H(x)<C, то путём соответствующего кодирования можно передавать информацию по каналу связи со скоростью, сколь угодно к C и с вероятностью ошибки, сколь угодно близкой к нулю. Если же H(x)>C, то можно закодировать источник таким образом, что ненадёжность будет меньше, чем H(x)-C+e, где e. сколь угодно малая величина.
Не существует способа кодирования, обеспечивающего ненадёжность, меньшую, чем H'(x)-C.
К сожалению, теорема К.Шеннона для каналов с шумами(помехами) указывает только на возможность такого кодирования, но не указывает способа построения соответствующего кода. Однако известно, что при приближении к пределу, устанавливаемому теоремой Шеннона, резко возрастает время запаздывания сигнала в устройствах кодирования и декодирования из-за увеличения длины кодового слова n. При этом вероятность ошибки на выходе канала стремится к величине
Очевидно, что pэ ® 0, когда n×tэ ® ¥, и следовательно, имеет место “обмен” верности передачи на скорость и задержку передачи.
Представление чисел в памяти компьютера имеет специфическую особенность, связанную с тем, что в памяти компьютера числа должны располагаться в байтах минимальных по размеру адресуемых ячейках памяти. Адресом числа считают адрес первого байта. В байте может содержаться произвольный код из восьми двоичных разрядов.
1. Целые числа представляются в памяти компьютера с фиксированной запятой. В этом случае каждому разряду ячейки памяти компьютера соответствует один и тот же разряд числа, запятая находится справа после младшего разряда (то есть вне разрядной сетки).
Для кодирования целых чисел от 0 до 255 достаточно иметь 8 разрядов двоичного кода (8 бит).
Десятичное число |
Двоичный код |
0 |
0000 0000 |
1 |
0000 0001 |
2 … |
0000 0010 … |
254 |
1111 1110 |
255 |
11111111 |
Для кодирования целых чисел от 0 до 65 535 требуется шестнадцать бит; 24 бита позволяют закодировать более 16,5 миллионов разных значений.
Если для представления целого числа в памяти компьютера отведено N бит, то количество различных значений будет равно 2N.
Максимальное значение целого неотрицательного числа достигается в случае, когда во всех ячейках стоят единицы. Если под представление целого положительного числа отведено N бит, то максимальное значение будет равно 2N -1.
Прямой код целого числа может быть получен следующим образом: число переводится в двоичную систему счисления, а затем его двоичную запись слева дополняют необходимым количеством незначащих нулей, соответствующим количеству незаполненных разрядов, отведённых для хранения числа.
2. Для представления целых чисел со знаком старший (левый) разряд отводится под знак числа. Если число положительное, то в знаковый разряд записывается 0, если число отрицательное, то 1.
Максимальное значение целого числа со знаком достигается в случае, когда в старшем разряде стоит 0, а во всех остальных ячейках стоят единицы. Если под представление целого числа со знаком отведено N бит, то максимальное значение будет равно 2N-1-1. Поскольку количество возможных значений в N битах равно 2N-1, то в случае представления целых чисел со знаком количество отрицательных значений на единицу больше количества положительных значений. Такая ситуация связана с тем, что для представления нуля во всех ячейках стоят нули. Если же в знаковом разряде стоит единица, а во всех остальных разрядах нули, то это представление соответствует отрицательному (как правило, наименьшему) числу.
Пример. Запишем вид числа -58 в памяти компьютера в 8-разрядном представлении.
Так как 5810 = 1110102, то число в памяти компьютера будет представлено следующим образом:
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
Представление в памяти компьютера целых положительных чисел совпадает с прямым кодом.
Система счисле́ния символический метод записи чисел, представление чисел с помощью письменных знаков.
Система счисления:
Системы счисления подразделяются на позиционные, непозиционные и смешанные.
-Позиционная систе́ма счисле́ния (позиционная нумерация) система счисления, в которой значение каждого числового знака(цифры) в записи числа зависит от его позиции (разряда).
-Смешанная система счисления является обобщением -ричной системы счисления и также зачастую относится к позиционным системам счисления. Основанием смешанной системы счисления является возрастающая последовательность чисел , и каждое число в ней представляется как линейная комбинация:
, где на коэффициенты , называемые как и прежде цифрами, накладываются некоторые ограничения.
-В непозиционных системах счисления величина, которую обозначает цифра, не зависит от положения в числе. При этом система может накладывать ограничения на положение цифр, например, чтобы они были расположены в порядке убывания.
Арифметические операции в различных системах счисления
Производятся по тем же правилам, что и в десятичной с.ч.
если результат поразрядного сложения в каждом разряде меньше основания системы счисления, т.е.
аi + bi, < р,
то в соответствующий разряд суммы записывается цифра, которая отображает количество, равное ci = ai + bi
В том случае, если результат поразрядного сложения больше основания системы счисления или равен ему, т.е.
аi + bi, р, то в соответствующий разряд суммы записывается цифра, которая отображает количество, равное:
Ci = ai + bi - p
и в старший разряд c1+i переносится единица, которая должна учитываться при суммировании в этом разряде. При вычитании поступают по аналогичным правилам.
Пример 1. Сложим числа 15 и 6 в различных системах счисления
Ответ: 15+6 = 2110 = 101012 = 258 = 1516
Шестнадцатеричная: F16+616
Проверка. Преобразуем полученные суммы к десятичному виду:
101012 = 24 + 22 + 20 = 16+4+1=21,
258 = 2*81 + 5*80 = 16 + 5 = 21,
1516 = 1*161 + 5*160 = 16+5 = 21.
Пример: Сложим числа 141,5 и 59,75.
Ответ: 141,5 + 59,75 = 201,2510 = 11001001,012 = 311,28 = C9,416
Проверка. Преобразуем полученные суммы к десятичному виду:
11001001,012 = 27 + 26 + 23 + 20 + 2-2 = 201,25
311,28 = 3*82 + 1•81 + 1*80 + 2*8-1 = 201,25
C9,416 = 12*161 + 9*160 + 4*16-1 = 201,25
Вычитание
Ответ: 201,2510 - 59,7510 = 141,510 = 10001101,12 = 215,48 = 8D,816.
Проверка. Преобразуем полученные разности к десятичному виду:
10001101,12 = 27 + 23 + 22 + 20 + 2-1 = 141,5;
215,48 = 2*82 + 1*81 + 5*80 + 4*8-1 = 141,5;
8D,816 = 8*161 + D*160 + 8*16-1 = 141,5.
Выполняя умножение многозначных чисел в различных позиционных системах счисления, можно использовать обычный алгоритм перемножения чисел в столбик, но при этом результаты перемножения и сложения однозначных чисел необходимо заимствовать из соответствующих рассматриваемой системе таблиц умножения и сложения.
|
Умножение в восьмеричной системе |
Примеp: Перемножим числа 115 и 51.
Ответ: 115*51 = 586510 = 10110111010012 = 133518.
Проверка. Преобразуем полученные произведения к десятичному виду:
10110111010012 = 212 + 210 + 29 + 27 + 26 + 25 + 23 + 20 = 5865;
133518 = 1*84 + 3*83 + 3*82 + 5*81 + 1*80 = 5865.
Деление
Деление в любой позиционной системе счисления производится по тем же правилам, как и деление углом в десятичной системе. В двоичной системе деление выполняется особенно просто, ведь очередная цифра частного может быть только нулем или единицей.
Пример Разделим число 5865 на число 115.
Восьмеричная: 133518 :1638
Ответ: 5865 : 115 = 5110 = 1100112 = 638.
Проверка. Преобразуем полученные частные к десятичному виду:
1100112 = 25 + 24 + 21 + 20 = 51; 638 = 6*81 + 3*80 = 51.
Перевод чисел из одной системы счисления в другую составляет важную часть машинной арифметики. Рассмотрим основные правила перевода.
1. Для перевода двоичного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 2, и вычислить по правилам десятичной арифметики:
При переводе удобно пользоваться таблицей степеней двойки:
Таблица 4. Степени числа 2
n (степень) |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
1 |
2 |
4 |
8 |
16 |
32 |
64 |
128 |
256 |
512 |
1024 |
Пример . Число перевести в десятичную систему счисления.
2. Для перевода восьмеричного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 8, и вычислить по правилам десятичной арифметики:
При переводе удобно пользоваться таблицей степеней восьмерки:
Таблица 5. Степени числа 8
n (степень) |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
1 |
8 |
64 |
512 |
4096 |
32768 |
262144 |
Пример . Число перевести в десятичную систему счисления.
3. Для перевода шестнадцатеричного числа в десятичное необходимо его записать в виде многочлена, состоящего из произведений цифр числа и соответствующей степени числа 16, и вычислить по правилам десятичной арифметики:
При переводе удобно пользоваться таблицей степеней числа 16:
Таблица 6. Степени числа 16
n (степень) |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
1 |
16 |
256 |
4096 |
65536 |
1048576 |
16777216 |
Пример . Число перевести в десятичную систему счисления.
4. Для перевода десятичного числа в двоичную систему его необходимо последовательно делить на 2 до тех пор, пока не останется остаток, меньший или равный 1. Число в двоичной системе записывается как последовательность последнего результата деления и остатков от деления в обратном порядке.
Пример. Число перевести в двоичную систему счисления.
5. Для перевода десятичного числа в восьмеричную систему его необходимо последовательно делить на 8 до тех пор, пока не останется остаток, меньший или равный 7. Число в восьмеричной системе записывается как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.
Пример. Число перевести в восьмеричную систему счисления.
6. Для перевода десятичного числа в шестнадцатеричную систему его необходимо последовательно делить на 16 до тех пор, пока не останется остаток, меньший или равный 15. Число в шестнадцатеричной системе записывается как последовательность цифр последнего результата деления и остатков от деления в обратном порядке.
Пример. Число перевести в шестнадцатеричную систему счисления.
7. Чтобы перевести число из двоичной системы в восьмеричную, его нужно разбить на триады (тройки цифр), начиная с младшего разряда, в случае необходимости дополнив старшую триаду нулями, и каждую триаду заменить соответствующей восьмеричной цифрой (табл. 3).
Пример. Число перевести в восьмеричную систему счисления.
8. Чтобы перевести число из двоичной системы в шестнадцатеричную, его нужно разбить на тетрады (четверки цифр), начиная с младшего разряда, в случае необходимости дополнив старшую тетраду нулями, и каждую тетраду заменить соответствующей восьмеричной цифрой (табл. 3).
Пример. Число перевести в шестнадцатеричную систему счисления.
9. Для перевода восьмеричного числа в двоичное необходимо каждую цифру заменить эквивалентной ей двоичной триадой.
Пример. Число перевести в двоичную систему счисления.
10. Для перевода шестнадцатеричного числа в двоичное необходимо каждую цифру заменить эквивалентной ей двоичной тетрадой.
Пример. Число перевести в двоичную систему счисления.
11. При переходе из восьмеричной системы счисления в шестнадцатеричную и обратно, необходим промежуточный перевод чисел в двоичную систему.
Пример 1. Число перевести в восьмеричную систему счисления.
Пример 2. Число перевести в шестнадцатеричную систему счисления.
Множество символов, с помощью которых записывается текст, называется алфавитом.
Число символов в алфавите это его мощность.
Формула определения количества информации: N = 2b,
где N мощность алфавита (количество символов),
b количество бит (информационный вес символа).
В алфавит мощностью 256 символов можно поместить практически все необходимые символы. Такой алфавит называется достаточным.
Т.к. 256 = 28, то вес 1 символа 8 бит.
Единице измерения 8 бит присвоили название 1 байт:
1 байт = 8 бит.
Двоичный код каждого символа в компьютерном тексте занимает 1 байт памяти.
Удобство побайтового кодирования символов очевидно, поскольку байт - наименьшая адресуемая часть памяти и, следовательно, процессор может обратиться к каждому символу отдельно, выполняя обработку текста. С другой стороны, 256 символов это вполне достаточное количество для представления самой разнообразной символьной информации. |
||
Первая половина таблицы кодов ASCII
|
||
Вторая половина таблицы кодов ASCII |
Кодировка представляет собой таблицу символов, где каждой букве алфавита (а также цифрам и специальным знакам) присвоен свой уникальный номер - код символа.
Стандартизирована только половина таблицы, т.н. ASCII-код - первые 128 символов, которые включают в себя буквы латинского алфавита. И с ними никогда не бывает проблем. Вторая же половина таблицы (а всего в ней 256 символов - по количеству состояний, который может принять один байт) отдана под национальные символы, и в каждой стране эта часть различна. Но только в России умудрились придумать целых 5 различных кодировок. Термин "различные" обозначает то, что одному и тому же символу соответствует разный цифровой код. Т.е. если мы неправильно определим кодировку текста, то нашему вниманию предстанет абсолютно нечитаемый текст.
Кодировки появились исторически. Первая широко используемая российская кодировка называлась KOI-8. Ее придумали, когда адаптировали к русскому языку систему UNIX. Это было еще в семидесятых - до появления персоналок. И до сих пор в UNIX это считается основной кодировкой.
Потом появились первые персональные компьютеры, и началось победное шествие DOS. Вместо того чтобы воспользоваться уже придуманной кодировкой, Microsoft решила сделать свою, ни с чем не совместимую. Так появилась DOS-кодировка (или 866 кодовая страница). В ней, кстати, были введены спецсимволы для рисования рамок, что широко использовалось в программах написанных под DOS. Например, в том же Norton Commander-е.
Параллельно с IBM-совместимыми развивались и Macintosh-компьютеры. Несмотря на то, что их доля в России очень мала, тем не менее, потребность в русификации существовала и, разумеется, была придумана еще одна кодировка - MAC.
Время шло, и 1990 году Microsoft явила на свет первую успешную версию Windows 3.0-3.11. А вместе с ней и поддержку национальных языков. И снова был проделан такой же фокус, как и с DOS. По непонятным причинам они не поддержали ни одну, из уже существовавших ранее (как это сделала OS/2, принявшая за стандарт DOS-кодировку), а предложили новую Win-кодировку (или кодовая страница 1251). Де-факто, она стала самой распространенной в России.
И, наконец, пятый вариант кодировки связан уже не с конкретной фирмой, а с попытками стандартизации кодировок на уровне всей планеты. Занималась этим ISO - международная организация по стандартам. И, догадайтесь, что они сделали с русским языком? Вместо того, чтобы принять за "стандартную русскую" какую-нибудь из вышеописанных, они придумали еще одну (!) и назвали ее длинным неудобоваримым сочетанием ISO-8859-5. Разумеется, она тоже оказалась ни с чем не совместимой. И в настоящий момент эта кодировка практически нигде не применяется. Кажется, ее используют только в базе данных Oracle. По крайней мере, я ни разу не видел текст в этой кодировке. Тем не менее, ее поддержка присутствует во всех броузерах.
Сейчас идет работа над созданием новой универсальной кодировки (UNICODE), в которой предполагается в одну кодовую таблицу запихнуть все языки мира. Тогда точно проблем не будет. Для этого на каждый символ отвели 2 байта. Таким образом, максимальное количество знаков в таблице расширилось до 65535. Но до момента, когда все перейдут на UNICODE, остается еще слишком много времени.
Здесь немного отвлекемся и расмотрим для целостного восприятия мета тег - Content-Type.
Мета теги используются для описания свойств HTML документа и должны находится в рамках тега HEAD. Мета теги типа NAME содержат текстовую информацию о документе, его авторе и некоторые рекомендации для поисковых машин. Например: Robots, Description, Keywords, Author, Copyright.
Мета теги типа HTTP-EQUIV влияют на формирование заголовка документа и определяют режим его обработки.
Content-Type
Мета тег Content-Type - Отвечает за указание типа документа и кодировки символов.
Использовать мета тег Content-Type надо только с учетом некоторых нюансов:
Несоблюдение этих требований может привести к следующему: web-сервер автоматически определит кодировку запроса клиента и отдаст страничку web-броузеру перекодированной. Броузер, в свою очередь, будет читать документ в соответствии с мета тегом Content-Type. И если кодировки не совпадут, то прочитать документ можно будет только после ряда замысловатых манипуляций. Особенно это характерно для старых броузеров.
Внимание! Мета тег Content-Type очень часто вставляется генераторами HTML кода.
Наиболее часто встречаются типы кодировки: