Постоянные читатели

вторник, 26 октября 2021 г.

 

 

Тема 6. Представление числовой информации в различных системах

 

1.    Представление чисел в компьютере.

2.    Системы счисления

3.    Арифметические действия в двоичной системе счисления

 

1.    Представление чисел в компьютере

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

Обычно целые числа занимают в памяти компьютеров один, два или четыре байта. Один, как правило, старший бит отводится под знак числа. Знак положительного числа "+" кодируется нулем, а знак отрицательного числа "-" - единицей. Целые числа без знака в двухбайтовом формате могут принимать значения от 0 до 216-1 (до 65535), а со знаком - от -215 до +215-1, т.е. от -32768 до 32767.

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

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

А = mА  qp,

где mA - мантисса числа, q - основание системы счисления, p - порядок числа.

 

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

q-1  |mА| < 1.

Это означает, что мантисса должна быть правильной дробью и иметь после запятой цифру, отличную от нуля.

 

Число в форме с плавающей точкой занимает в памяти компьютера четыре или восемь байт. При записи числа с плавающей точкой выделяются разряды для хранения знака мантиссы, знака порядка, порядка и мантиссы. Любое вещественное число в современных компьютерах представляется в экспоненциальной форме с нормализованной мантиссой. При этом мантисса является правильной двоичной дробью, а порядок - целым числом.

В традиционных кодировках для кодирования одного символа используется 8 бит. Легко подсчитать по формуле 2.3, что такой 8-разрядный код позволяет закодировать 256 различных символов.

Присвоение символу определенного числового кода - это вопрос соглашения. В качестве международного стандарта принята кодовая таблица ASCII (American Standard Code for Information Interchange), кодирующая первую половину символов с числовыми кодами от 0 до 127 (коды от 0 до 32 отведены не символам, а функциональным клавишам). Данную таблицу можно найти в любом учебном пособии по информатике.

 

Национальные стандарты кодировочных таблиц включают международную часть кодовой таблицы без изменений, а во второй половине содержат коды национальных алфавитов, символы псевдографики и некоторые математические знаки. К сожалению, в настоящее время существуют пять различных кодировок кириллицы (КОИ8-Р, Windows, MS-DOS, Macintosh и ISO), что вызывает дополнительные трудности при работе с русскоязычными документами.

Хронологически одним из первых стандартов кодирования русских букв на компьютерах был КОИ8 ("Код обмена информацией, 8-битный"). Эта кодировка применялась еще в 70-ые годы на компьютерах серии ЕС ЭВМ, а с середины 80-х стала использоваться в первых русифицированных версиях операционной системы UNIX.

Наиболее распространенной в настоящее время является кодировка Microsoft Windows, обозначаемая сокращением CP1251 ("CP" означает "Code Page", "кодовая страница").

От начала 90-ых годов, времени господства операционной системы MS DOS, остается кодировка CP866. Компьютеры фирмы Apple, работающие под управлением операционной системы Mac OS, используют свою собственную кодировку Mac. Кроме того, Международная организация по стандартизации (International Standards Organization, ISO) утвердила в качестве стандарта для русского языка еще одну кодировку под названием ISO 8859-5.

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

2.    Системы счисления

Система счисления - символический метод записи чисел, представление чисел с помощью письменных знаков.

Происхождение наиболее распространенной десятичной системы связано с пальцевым счетом. Существовавшая в Древнем Вавилоне шестидесятиричная система осталась в делении часа и градуса угла на 60 минут и минут - на 60 се- кунд. В России до XVIII в. существовала десятичная система счисления, основанная на буквах алфавита а, в, г... с чертой над буквой (от греческих букв: альфа, бета, гамма).

Современная десятичная система основана на десяти цифрах, начертание которых 0, 1, 2, ..., 9 сформировалось в Индии к V в. н.э. и пришло в Европу с арабскими рукописями («арабские цифры»). Двоичная система использует две цифры: 0 и 1. Шестнадцатиричная система использует 16 символов: 0, 1, 2, ..., 9, А, В, С, D, E, F. Эти системы счисления называются позиционными, так как значение каждой цифры числа определяется по ее месту (позиции, разряду) в ряду чисел, составляющих данное число. Позиция отсчитывает- ся справа налево; так, в десятичной системе: нулевой раз- ряд — разряд единиц, первый разряд — разряд десятков, второй разряд — разряд сотен, потом тысячи и т.д.

Символы, при помощи которых записывается число, называются цифрами.

Система счисления:

·                 даёт представления множества чисел (целых или вещественных)

·                 даёт каждому числу уникальное представление (или, по крайней мере, стандартное представление)

·                 отражает алгебраическую и арифметическую структуру чисел.

Разные народы в разные времена использовали разные системы счисления. Следы древних систем счета встречаются и сегодня в культуре многих народов. К древнему Вавилону восходит деление часа на 60 минут и угла на 360 градусов. К Древнему Риму - традиция записывать в римской записи числа I, II, III и т. д. К англосаксам - счет дюжинами: в году 12 месяцев, в футе 12 дюймов, сутки делятся на 2 периода по 12 часов.
По современным данным, развитые системы нумерации впервые появились в древнем Египте. Для записи чисел египтяне применяли иероглифы один, десять, сто, тысяча и т.д. Все остальные числа записывались с помощью этих иероглифов и операции сложения. Недостатки этой системы - невозможность записи больших чисел и громоздкость.

В конце концов, самой популярной системой счисления оказалась десятичная система. Десятичная система счисления пришла из Индии, где она появилась не позднее VI в. н. э. В ней всего 10 цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 но информацию несет не только цифра, но также и место позиция, на которой она стоит. В числе 444 три одинаковых цифры обозначают количество и единиц, и десятков, и сотен. А вот в числе 400 первая цифра обозначает число сотен, два 0 сами по себе вклад в число не дают, а нужны лишь для указания позиции цифры 4.

Классификация систем счисления

Системы счисления подразделяются на позиционные и непозиционные.

Позиционные системы счисления

Позиционные системы счисления (СС) - это системы счисления, в которых количественный эквивалент каждой цифры (её вес) зависит от ее положения (позиции) в записи числа.

Путем долгого развития человечество пришло к созданию позиционного принципа записи чисел, который состоит в том, что каждая цифра, содержащаяся в записи числа, занимает определенное место, называемое разрядом. Отсчет разрядов производится справа налево. Единица каждого следующего разряда всегда превосходит единицу предыдущего разряда в определенное число раз. Это отношение носит название основание системы счисления (у непозиционных систем счисления понятия «разряда» и «основания» отсутствуют).

Например:
число 237 состоит из 3 цифр. Понятно, что отдельно взятая цифра 7 больше чем цифра 2. Однако, в составе числа, двойка стоит на позиции сотен, а семёрка - на позиции единиц, поэтому количественное представление двойки - две сотни, или двести, а семёрка - всё та же семь.
Многие, кроме десятичной СС, о других позиционных системах не имеют представления, хотя и часто ими пользуются. Например:

1.              шестидесятиричная (Древний Вавилон) - первая позиционная система счисления. До сих пор при измерении времени используется основание равное 60 (1 мин = 60 с, 1 ч = 60 мин);

2.              двенадцатеричная система счисления (широкое распространение получила в XIX в. Число12 - «дюжина»: в сутках две дюжины часов. Счет не по пальцам. а по суставам пальцев. На каждом пальце руки, кроме большого, по 3 сустава - всего 12;

В настоящее время наиболее распространенными позиционными системами счисления являются десятичная, двоичная, восьмеричная и шестнадцатеричная.

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

Достоинства позиционных систем счисления:

·                  в позиционных системах счисления устранены все недостатки непозиционных:

·                  в них можно записать любое число (как натуральное, таки действительное);

·                  запись чисел компактна и удобна;

·                  благодаря поразрядной организации записи чисел с ними легко проводить математические операции.

Непозиционные системы счисления

В непозиционных системах счисления величина, которую обозначает цифра, не зависит от положения в числе. Например: Римская система счисления.

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

I

V

X

L

С

D

М

1

5

10

50

100

500

1000

С их помощью можно записывать натуральные числа. Например, число 1995 будет представлено, как MCMXCV (М-1000,СМ-900,ХС-90 и V-5).

Правила записи чисел в римской системе счисления:

·                  если большая цифра стоит перед меньшей, они складываются, например: VI – 6 (5+1);

·                  если меньшая цифра стоит перед большей, то из большей вычитается меньшая, причем в этом случае меньшая цифра уже повторяться не может, например: XL — 40 (50-10), XXL – нельзя;

·                  цифры М, С, Х, I могут повторяться в записи числа не более трех раз подряд;

·                  цифры D, L, V могут использоваться в записи числа только по одному разу.

Например, запись XXX обозначает число 30, состоящее из трех цифр X, каждая из которых, независимо от места ее положения в записи числа, равна 10. Запись MCXX1V обозначает 1124, а самое большое число, которое можно записать в этой системе счисления, это число MMMCMXCIX (3999). Для записи еще больших чисел пришлось бы вводить все новые обозначения. По этой причине, а также по причине отсутствия цифры ноль, римская система счисления не годится для записи действительных чисел.

Таким образом, можно констатировать следующие основные недостатки непозиционных систем счисления:

·                  в них нельзя записать любое число;

·                  запись чисел обычно громоздка и неудобна;

·                  математические операции над ними крайне затруднены.

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

Десятичная система: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

Двоичная система: {0, 1}

Восьмеричная система: {0, 1, 2, 3, 4, 5, 6, 7}

Шестнадцатеричная система: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}

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

 

Базисом позиционной системы счисления называется последовательность чисел, каждое из которых задает количественное значение или «вес» каждого разряда. Например: Базисы некоторых позиционных систем счисления.

Десятичная система: 100, 101, 102, 103, 104,…, 10n,…

Двоичная система: 20, 21, 22, 23, 24,…, 2n,…

Восьмеричная система: 80, 81, 82, 83, 84,…, 8n,…

Пример. Десятичное число 4718,63, двоичное число 1001,1, восьмеричное число 7764,1, шестнадцатеричное число 3АF.

Позиция цифры в числе называется разрядом: разряд возрастает справа налево, от младших к старшим, начиная с нуля.

 

3.       Арифметические действия в двоичной системе счисления

Целые числа в ЭВМ могут быть представлены в виде:

прямого кода. Прямой код двоичного числа совпадает по изображению с записью самого числа.

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

дополнительного кода. Дополнительный код положительного числа совпадает с прямым кодом. Для отрицательного числа дополнительный код образуется путем получения обратного кода и добавлением к младшему разряду единицы.

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

Следует помнить, что положительные числа в обратном и дополнительном коде совпадают с прямым кодом.
1) Прямой код числа (кодируется только знаковая информация), “+”=0; ”-”=1.
Для прямого кода возможны два представления нуля, машинный положительный ноль, т.е. +0,110=0,110, машинный отрицательный ноль, т.е. -0,111=1,111.

ПРИМЕР ПЕРЕВОДА
x1=10101-[x1]пр=010101
x2=-11101-[x2]пр=111101
x3=0,101-[x3]пр=0,101
x4=-0,111-[x4]пр=1,111
2) Обратный код числа, используется для 
выполнения арифметических операций вычитания, умножения, деления, через сложение. Обратный код положительного числа совпадает с его прямым кодом, обратный код отрицательного числа формируется по правилам: в знаковом разряде записывается “1”; цифровые значения меняются на противоположные.

ПРИМЕР ПЕРЕВОДА
x1=10101-[x1]обр=010101
x2=-11101-[x2]обр=100010
x3=0,101-[x3]обр=0,101
x4=-0,111-[x4]обр=1,000

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

ПРИМЕР ПЕРЕВОДА
x1=10101-[x1]доп=010101
x2=-11101-[x2]обр=100010+1-[x2]доп=100011
x3=0,101-[x3]доп=0,101
x4=-0,111-[x4]обр=1,000+1-[x4]доп=1,001
Для выявления ошибок при выполнении арифметических операций используются также модифицированные коды: модифицированный прямой; модифицированный обратный; модифицированный дополнительный, для которых под код знака числа отводится два разряда, т.е. “+”=00; ”-”=11. Если в результате выполнения операции в знаковом разряде появляется комбинация 10 или 01 то для машины это признак ошибки, если 00 или 11 то результат верный.

Как определить, положительное или отрицательное число? Знак числа определяет старший бит: 0 - положительное число, 1 - отрицательное число. Например, для числа 1,001 сразу можно определить, что оно отрицательное (меньше нуля).

Комментариев нет:

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

Информатика 23-24г Объекты и классы. Свойства и методы объектов.

  Объекты и классы. Свойства и методы объектов. Итак, определяющим понятием ООП является  объект  – некая совокупность, объединяющая свойс...