Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Кодирование текстовых данных

Кодирование числовых данных

Восьмеричная и шестнадцатеричная системы счисления

Перевод чисел из десятичной системы в восьмеричную производится также как и в двоичную с помощью умножения и деления, только не на 2, а на 8.

Например, 58,32(10)

58: 8 = 7 (2 в остатке)

7: 8 = 0 (7 в остатке)

0,32 * 8 = 2,56

0,56 * 8 = 4,48

0,48 * 8 = 3,84, …

58,32(10) = 72,243…(8)

Перевод чисел из десятичной системы счисления в 16-ричную производится аналогично. 567(10)0 = 237(16)

 

 

Соответствие чисел в различных системах счисления

Десятичная Шестнадцатеричная Восьмеричная Двоичная
       
       
       
       
       
       
       
       
       
       
  A    
  B    
  C    
  D    
  E    
  F    

 

Для перевода целого двоичного числа в восьмеричное необходимо разбить его справа налево на группы по 3 цифры (самая левая группа может содержать менее трех двоичных цифр), а затем каждой группе поставить в соответствие ее восьмеричный эквивалент. Такие группы называют двоичными триадами.

Например,

11011001 = 11 011 001 = 331(8)

Перевод целого двоичного числа в шестнадцатеричное производится путем разбиения данного числа на группы по 4 цифры – двоичные тетрады.

1100011011001 = 1 1000 1101 1001 = 18D9(16)

Для перевода дробных частей двоичных чисел в восьмеричную или шестнадцатеричную системы аналогичное разбиение на триады или тетрады производится от запятой вправо (с дополнением недостающих последних цифр нулями)

0,1100011101(2) = 0,110 001 110 100 = 0,6164(8)

0,1100011101(2) = 0,1100 0111 0100 = С74(16)

Перевод восьмеричных (шестнадцатеричных) чисел в двоичные производится обратным путем – сопоставлением каждому знаку числа соответствующей тройки (четверки) двоичных цифр.

А1F(16) = 1010 0001 1111(2)

127(8) = 001 010 111(2)

Простота подобных преобразований связана с тем, что числа 8 и 16 являются целыми степенями числа 2. Этой простотой объясняется популярность восьмеричной и шестнадцатеричной систем счисления.

 

Кодирование числовых данных по сути представляет собой перевод чисел, записанных в общепринятой десятичной системе счисления в двоичную систему счисления. В этом случае двоичную форму записи десятичного числа можно назвать его двоичным кодом. Всякое десятичное число прежде, чем оно попадает в память компьютера для обработки преобразуется в его двоичный эквивалент, а полученный результат прежде, чем появиться на экране видеотерминала или на бумаге после печати, переводится из двоичной системы счисления в десятичную. Преобразование это происходит автоматически с помощью специальных устройств кодирования/декодирования.

Начиная с конца 60-х годов, компьютеры все больше стали использоваться для обработки текстовых данных и в настоящее время большая часть персональных компьютеров в мире (и наибольшее время) занято обработкой именно текстов.

Традиционно для кодирования одного символа используется 1 байт (8 двоичных разрядов). Это позволяет закодировать N = 28 – 256 различных символов, которых обычно бывает достаточно для представления текстовых данных (прописные и заглавные буквы латинского алфавита, цифры, знаки, графические символы и т.д., а также прописные и заглавные буквы одного национального алфавита).

При двоичном кодировании текстовых данных каждому символу ставится в соответствие своя уникальная последовательность из восьми нулей и единиц, свой уникальный двоичный код от 00000000 до 11111111 (десятичный код от 0 до 255).

Таким образом, человек различает символы по их начертанию, а компьютер – по их коду. При выводе символа на экран монитора производится декодирование: по двоичному коду символа на экране строится его изображение. Кодирование и декодирование происходят в компьютере автоматически за миллионные доли секунды.

Присвоение символу конкретного двоичного кода – это вопрос соглашения, которое фиксируется в кодовой таблице ASCII (стандартный код информационного обмена). Первые 33 кода (с 0 по 32) соответствуют не символам, а операциям (перевод строки, ввод пробела и т.д.). Коды с 33 по 127 являются интернациональными и соответствуют символам латинского алфавита цифрам, знакам арифметических операций и знакам препинания.

Коды с 128 по 255 содержат коды национального алфавита. К сожалению, в настоящее время существуют пять различных кодовых таблиц для русских букв, поэтому тексты, созданные в одной кодировке, не будут правильно отображаться в другой.

Хронологически одним из первых стандартов кодирования русских букв на компьютерах был код КОИ-8 («Код обмена информацией 8-битный»). Эта кодировка применяется на компьютерах с операционной системой UNIX.

Наиболее распространенная кодировка – это стандартная кириллическая кодировка Microsoft Windows, обозначаемая сокращением СР1251 («СР» означает «Code Page», «кодовая страница»). Все Windows-приложения, работающие с русским языков, поддерживают эту кодировку (Windows 1251, Win 1251).

Для работы в среде операционной системы MS-DOS используется «альтернативная» кодировка, в терминологии фирмы Microsoft - СР866 (КОИ-7).

Фирма Apple разработала для компьютеров Macintosh свою собственную кодировку русских букв (Мас).

Международная организация по стандартизации (International Standards Organization, ISO) утвердила в качестве стандарта для русского языка еще одну кодировку под названием ISO 8859-5.

Одному и тому же двоичному коду в разных кодовых таблицах ставится в соответствие различные символы.

Двоичный код Десятичный код КОИ8 СР1251 СР866 Мас ISO
    б В - - Т

 

К счастью, в большинстве случаев пользователь не должен заботиться о перекодировках текстовых документов. При работе в приложениях Windows предусмотрена возможность автоматической перекодировки документов, созданных в приложениях MS-DOS. При работе в Интернет с использованием броузеров Internet Explorer и Netscape Communicator происходит автоматическая перекодировка Web-страниц.

Существует также международный стандарт Unicode, который отводит на каждый символ не один байт, а два, и потому с его помощью можно закодировать не 256 символов, а N = 216 = 65536 различных символов. Кодировка используется в основном для передачи данных по сети Internet, ее поддерживает платформа Microsoft Windows&Office.

<== предыдущая лекция | следующая лекция ==>
Арифметические операции с двоичными числами | Кодирование графических данных
Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 558; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.