Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Представление чисел в двоичном коде

Понятие кодирования данных

Лекция 4. Представление (кодирование) данных в электронных вычислительных машинах

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

Взгляды создателей вычислительной техники были обращены на двоичное кодирование как универсальную форму представления данных для дальнейшей обработки их средствами вычислительной техники. Предполагается, что данные располагаются в некоторых ячейках, представляющих упорядоченную совокупность из двоичных разрядов, а каждый разряд может временно содержать одно из состояний – 0 или 1. Тогда группой из двух двоичных разрядов (двух бит) можно закодировать 22 = 4 различные комбинации кодов (00,.01, 10, 11); аналогично, три бита дадут 23 = 8 комбинаций, восемь бит или 1 байт — 28 = 256 и т.д.

Итак, внутренняя азбука компьютера очень бедна, содержит всего два символа: 0, 1, поэтому и возникает проблема представления всего многообразия типов данных – чисел, текстов, звуков, графических изображений, видео и др. — только этими двумя символами, с целью дальнейшей обработки средствами вычислительной техники.

Существуют различные способы записи чисел, например: можно записать число в виде текста — сто двадцать три; римской системе счисления – СХХШ; арабской — 123.

Совокупность приемов записи и наименования чисел называется системой счисления.

Числа записываются с помощью символов, и по количеству символов, используемых для записи числа, системы счисления подразделяются на позиционные и непозиционные. Если для записи числа используется бесконечное множество символов, то система счисления называется непозиционной. Примером непозиционной системы счисления может служить римская. Например, для записи числа один используется буква I, два и три выглядят как совокупности символов II, III, но для записи числа пять выбирается новый символ V, шесть – VI, десять – вводится символ X, сто – С, тысяча –М и т.д. Бесконечный ряд чисел потребует бесконечного числа символов для записи чисел. Кроме того, такой способ записи чисел приводит к очень сложным правилам арифметики.

Позиционные системы счисления для записи чисел используют ограниченный набор символов, называемых цифрами, и величина числа зависит не только от набора цифр, но и от того, в какой последовательности записаны цифры, т.е. от позиции, занимаемой цифрой, например, 125 и 215. Количество цифр, используемых для записи числа, называется основанием системы счисления, в дальнейшем его обозначим q.

В повседневной жизни мы пользуемся десятичной позиционной системой счисления, q = 10, т.е. используется 10 цифр: 0 12 3 4 5 6 7 8 9.

Рассмотрим правила записи чисел в позиционной десятичной системе счисления. Числа от 0 до 9 записываются цифрами, для записи следующего числа цифры не существует, поэтому вместо 9 пишут 0, но левее нуля образуется еще один разряд, называемый старшим, где записывается (прибавляется) 1, в результате получается 10. Затем пойдут числа 11, 12, но на 19 опять младший разряд заполнится и мы его снова заменим на 0, а старший разряд увеличим на 1, получим 20. Далее по аналогии 30, 40 … 90, 91, 92 … до 99. Здесь заполненными оказываются два разряда сразу; чтобы получить следующее число, мы заменяем оба на 0, а в старшем разряде, теперь уже третьем, поставим 1 (т.е. получим число 100) и т.д. Очевидно, что, используя конечное число цифр, можно записать любое сколь угодно большое число. Заметим также, что производство арифметичес­ких действий в десятичной системе счисления весьма просто.

Число в позиционной системе счисления с основанием q может быть представлено в виде полинома по степеням q. Например, в десятичной системе мы имеем число

123,45 = 1 • 102 + 2 • 101 + 3 • 10° + 4 •10-1 + 5 • 10-2

а в общем виде это правило запишется так:

Х(q) = xn-1 qn-1+ xn-2 qn-2+…+ x1 q1+ x0 q0+ x-1 q-1+ x-2 q-2+…+ x-m q-m

Здесь X(q) – запись числа в системе счисления с основанием q;

xi – натуральные числа меньше q, т.е. цифры;

n — число разрядов целой части;

m — число разрядов дробной части.

Записывая слева направо цифры числа, мы получим закодированную запись числа в двоичной системе счисления:

Х(q) = xn-1 xn-2 x1 x0 x-1 x-2 x-m

 

В информатике, вследствие применения электронных средств вычислительной техники, большое значение имеет двоичная система счисления, q = 2. На ранних этапах развития вычислительной техники арифметические операции с действительными числами производились в двоичной системе ввиду простоты их реализации в электронных схемах вычислительных машин. Например, таблица сложения и таблица умножения будут иметь по четыре правила:

0+0=0 0x0=0
0+1=1 0x1=0
1+0=1 1x0=0
1+1=10 1x1=1

 

А значит, для реализации поразрядной арифметики в компьютере потребуются вместо двух таблиц по сто правил в десятичной системе счисления две таблицы по четыре правила в двоичной. Соответственно на аппаратном уровне вместо двухсот электронных схем — восемь.

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

Действительное число многообразно в своих «потребительских свойствах». Числа могут быть целые точные, дробные точные, рациональные, иррациональные, дробные приближенные, числа могут быть положительными и отрицательными. Числа могут быть «карликами», например, масса атома, «гигантами», например, масса Земли, реальными, например, количество студентов в группе, возраст, рост. И каждое из перечисленных чисел потребует для оптимального представления в памяти свое, количество байтов.

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

Как уже говорилось, минимально адресуемой единицей памяти является байт, но представление числа требует большего объема. Очевидно, такие числа займут группу байт, а адресом числа будет адрес первого байта группы. Следовательно, произвольно взятый из памяти байт ничего нам не скажет о том, частью какого информационного объекта он является — целого числа, числа с плавающей запятой или команды. Резюмируя вышесказанное, можно сделать вывод, что кроме задачи представления данных в двоичном коде, параллельно решается обратная задача — задача интерпретации кодов, т.е. как из кодов восстановить первоначальные данные.

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

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


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


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



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




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