Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Кодирование целых положительных чисел.





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

Система кодирования -- правила кодового обозначения объектов, используемые для удобной и эффективной обработки информации. Вся информация (данные и команды) представлена в виде двоичных кодов. Ячейка памяти ОЗУ, к которой можно обратиться, имеет длину 1 байт. Каждый байт ОЗУ имеет свой адрес. Поле -- последовательность битов в определенном формате, имеющая некоторый смысл. Машинное слово -- наибольшая последовательность разрядов (бит), которую ЭВМ может обрабатывать как единое целое. Его длина зависит от разрядности процессора (16, 32, 64 бита). Различают слово, полуслово, двойное слово.

Если длина машинного слова 16 бит, то наибольшее целое число, которое может быть в них записано равно , а наименьшее -- 0. В языке Pascal такие числа определены как Word. Числа типа Longint занимают в памяти ЭВМ 4 байта.

Сложение и умножение производятся по правилам:

 

Кодирование целых чисел со знаком. Прямой код двоичного числа включает в себя код знака (знак соответствует 0, знак - 1) и абсолютное значение этого числа:

Вертикальная линия отделяет знаковый разряд от абсолютного значения числа.

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

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

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

К этому же результату можно прийти иначе: сместим положение нуля на середину интервала 0 - 65535 и будем считать, что числа из первой половины 0-32767 положительные, а числа из второй половины 32769 - 65535 отрицательные. Тогда -- код отрицательного числа, а -- код положительного числа. Это соответствует типу Integer на языке Pascal, при размещении чисел из интервала [-32768;32767] в 2 байтном машинном слове.

Пример. Рассмотрим операции 6+7=13, 14-8=6, 5*3=15, 12:4=3 в двоичных числах. Например, в десятичной системе: 5-3=2. Дополнительный код для 3 равен 7 (3+7=10). Так как 5+7=12, то отбрасывая старший разряд получаем 2. Тот же пример в двоичной системе: 0101-0011=0010; дополнительный код для 0011 равен 1101 (0011+1101=1 0000). Итак 0101+1101=10010. Старший разряд отбрасывается, получается .

Кодирование действительных чисел. Так как в ЭВМ для записи числа отводится конечное число разрядов, то количество возможных значений записываемых чисел конечно, например: 0.0000; 0.0001; 0.0002;...; 0.3960; 0.3961; 0.3962;... Действительные числа образуют континуум -- непрерывное множество. Машинные числа приближенно соответствуют отображаемым числам: числа 0.0000145 и 0.396131 будут восприниматься ЭВМ как 0.0000 и 0.3961, то есть приближенно. Это приводит к следующему:

1. Строгие соотношения между действительными числами оказываются нестрогими для их отображений : если то .

2. Так как отображения действительных чисел являются приближенными, то математическая обработка действительных чисел в ЭВМ ведется с погрешностью.

3. Математическое понятие нуля заменяется понятием "машинный нуль", как значения, которое меньше некоторой определенной величины.

Число называется нормализованным в системе счисления , если оно представлено в виде где -- мантисса, лежащая в интервале -- порядок числа.

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

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

Числа типа Real на языке Pascal размещаются 6 байтах, числа типа Extended занимают 10 байт.

Кодирование двоично-десятичных чисел. Для вывода чисел на экран используется двоично-десятичное представление чисел. В упакованном формате для каждой десятичной цифры отводится по 4 двоичных разряда (полбайта), при этом знак числа кодируется в крайнем правом полубайте числа (1100 -- знак и 1101 -- знак ).

При выполнении сложения и вычитания двоично-десятичных чисел используется упакованный формат: Цифра Цифра Цифра Цифра Знак . Упакованный формат используется обычно в ПК при выполнении операций сложения и вычитания двоично - десятичных чисел.

В распакованном формате для каждой десятичной цифры отводится по целому байту, при этом старшие полубайты (зона) каждого байта (кроме самого младшего) в ЭВМ заполняются кодом 0011, а в младших (левых) полубайтах обычным образом кодируются десятичные цифры. Старший полубайт (зона) самого младшего (правого) байта используется для кодирования знака числа.

Структура поля упакованного формата:

Зона Цифра Зона Знак Цифра

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

Пример. Число имеет следующий вид:

а) в упакованном формате: ,

б) в распакованном формате: .

 

 







Дата добавления: 2015-08-27; просмотров: 917. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


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


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

Случайной величины Плотностью распределения вероятностей непрерывной случайной величины Х называют функцию f(x) – первую производную от функции распределения F(x): Понятие плотность распределения вероятностей случайной величины Х для дискретной величины неприменима...

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

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

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

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

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

Studopedia.info - Студопедия - 2014-2025 год . (0.014 сек.) русская версия | украинская версия