|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Способы кодирования информации в ЦВМПодлежащие обработке в ЦВМ сообщения должны быть предварительно закодированы, т.е. изображены в виде наборов некоторых символов (кодовых комбинаций). Эти наборы в свою очередь представляются в технических устройствах, хранящих и обрабатывающих информацию, наборами сигналов некоторой физической природы или состояний элементов, используемых в устройствах. Характер символов, применяющихся для кодирования информации, зависит от используемого алфавита - конечного списка различных букв, цифр или любых других знаков, используемых в соответствующем языке. Комбинации, составленные из символов по правилам используемого языка, называют кодами. Рассмотрим некоторые цифровые коды, нашедшие широкое распространение для представления информации в ЦВМ (включая цифровое представление буквенных текстов). Кодирование цифровой информации. Цифровые алфавиты для кодирования величин называют системами счисления. Среди бесконечного набора таких систем широко известны по крайней мере две системы: римская и десятичная. Римская система относится к непозиционным системам, в которых “вес” цифры (количество, ею изображаемое) не зависит от места расположения этой цифры в числе, т. е. постоянен. Непозиционные системы счисления в силу указанного свойства неудобны в пользовании и в настоящее время почти не применяются. Десятичная система - позиционная, в ней вес каждой цифры переменный и определяется местом (позицией), занимаемым этой цифрой в числе. В любой позиционной системе счисления некоторое число может быть определено выражением , где р - основание системы счисления, или объем цифрового алфавита (количество различных цифровых символов, входящих в этот алфавит); n - количество разрядов числа; i - порядковый номер разряда; - коэффициент (одна из входящих в используемый алфавит цифр). Рассмотрим свойства позиционных систем счисления на примере десятичной системы. Для записи чисел в ней используется десять различных знаков - цифр: 0, 1, 2, 3, 4, 5, 6, 7, 8 и 9. Эти цифры обозначают десять последовательных целых чисел, начиная с нуля и кончая девятью. Количество «десять» изображают уже двумя цифрами: 1 и 0. Остальные числа записывают в виде последовательностей цифр, разделенных запятой на целую и дробные части, причем значение каждой цифры изменяется с изменением ее положения (позиции) в этой последовательности. Так, в записи 121,12 единица, стоящая слева на первом месте, означает количество сотен; единица, стоящая перед запятой, - количество единиц, а единица, стоящая после запятой, - количество десятых долей, содержащихся в числе. Последовательность цифр 121,12 представляет собой не что иное как сокращенную запись выражения Точно так же . Напомним, что количество различных цифр, применяемых в позиционной системе счисления, называют ее основанием (основанием десятичной системы счисления служит число “десять”). Вообще, в позиционной системе счисления с основанием р используется р различающихся между собой цифр, обозначающих последовательные целые числа, начиная с нуля и кончая числом р - 1. Остальные числа записывают в виде последовательностей цифр, в которых целая часть отделена от дробной части запятой и каждая цифра имеет значение в р раз меньше, чем та же цифра на предыдущем (ближайшем слева) месте. Если буквы , обозначают цифры системы счисления с основанием р, то последовательность цифр обозначает число, равное сумме произведений вида . Обычно в качестве двух младших цифр (соответствующих числам «нуль» и «один») во всех позиционных системах счисления используют знаки «0» и «1». При этом основание системы счисления р записывают в данной системе всегда в виде последовательности цифр “1” и “0”. Принимая за основание системы число «восемь», получим восьмеричную систему. В этой системе счисления для записи всевозможных чисел применяют восемь различных цифр: 0, 1, 2, 3, 4, 5, 6, 7, обозначающих целые последовательные числа, начиная с нуля и кончая семью. Количество «восемь» записывают двумя цифрами в виде “10”. Остальные числа представляют в виде последовательностей цифр. Количество 215, которое в десятичной системе имеет начертание 215, в восьмеричной системе будет записано так: Здесь комбинация символов 10 означает «восемь». Нам более привычна десятичная запись чисел. Поэтому для проверки правильности восьмеричного изображения десятичного числа “двести пятнадцать” представим правую часть последнего равенства в десятичной системе. Получим При подготовке задач для решения на ЦВМ применяют запись чисел как в восьмеричной, так и в шестнадцатеричной системе. Эти системы используют для записи команд программы решения задачи и некоторых констант. В шестнадцатеричной системе счисления для обозначения цифр используется 16 различных символов. В состав алфавита этой системы включены десятичные цифры, а для обозначения остальных шести символов применяют латинские заглавные буквы А, В, С, D, Е, F. Меньше всего различных цифр требуется в двоичной системе счисления - всего лишь две цифры: 0 и 1 (обозначающие целые числа «нуль» и «единицу»). Основание этой системы «два» - записывают тоже двумя цифрами: 10. Целые числа, начиная с трех и кончая семью, представляют так: 11, 100, 101, 110, 111. Число 215 в двоичной системе будет выглядеть так: Здесь теперь 10 означает число «два». Показатели степени записаны здесь тоже в двоичной системе счисления. Для проверки правильности двоичной записи представим правую часть последнего равенства в десятичной системе. Получим: В таблице 1 приведены числовые коды одних и тех же количеств, записанные в разных системах счисления. Таблица 1
Таблицы сложения, вычитания и умножения двоичных чисел чрезвычайно просты. С помощью этих таблиц сложение вычитание, умножение и деление двоичных чисел выполняются по тем же правилам по которым мы привыкли складывать, вычитать, умножать и делить десятичные чисел.
Пример 2. 1. Выполнение операций сложения, вычитания, умножения и деления в двоичной системе счисления представлено ниже. С уменьшением основания системы счисления (упрощением алфавита) происходит удлинение кодовой комбинации, изображающей одно и то же количество. Однако при передаче и электронной обработке информации наиболее удобной оказывается именно двоичная система счисления. При кодировании информации в этой системе достигается относительная минимизация количества необходимых для ее хранения элементов, а сами элементы могут быть простыми и надежными. Благодаря этим особенностям, а также чрезвычайной простоте организации операций над числами двоичная система используется в ЦВМ в подавляющем большинстве случаев. При организации ввода данных в ЦВМ удобной формой записи чисел является двоично-десятичный код, для изображения десятичных цифр в котором используется четыре двоичных разряда (тетрада). Перевод в двоично-десятичный код выполняется на устройствах ввода данных, при этом каждая десятичная цифра просто заменяется соответствующей ей двоичной тетрадой (см. табл. 2.1). Например, десятичное число 25,894, записанное в двоично-десятичном коде, будет иметь вид: 2 5, 8 9 4 0010 0101, 1000 1001 0100 Необходимо иметь ввиду, что число, записанное в двоично-десятичном коде, отличается от соответствующего двоичного числа, несмотря на то, что представляется в виде последовательности нулей и единиц. При переводе чисел из двоично-десятичного кода в десятичную систему двоично-десятичное число разбивается на тетрады, начиная с запятой влево и вправо, и каждая тетрада заменяется эквивалентной ей десятичной цифрой, неполные тетрады дополняются до полных нулями. Например, 111 0001 0100, 0100 соответствует десятичному числу 714,4. Подготовленные в форме двоично-десятичных кодов данные после ввода преобразуются в машине в двоичную систему счисления. Результаты решения вновь переводятся в двоично-десятичный код и передаются на устройства вывода, где осуществляется переход к десятичной системе счисления и фиксация результатов. Кодовые комбинации, изображающие числа, могут быть размещены в ячейках памяти ЦВМ различным образом (что влияет и на организацию обработки информации). В современных ЦВМ применяются как естественная (с фиксированной запятой), так и нормальная (с плавающей запятой) формы представления чисел в памяти машины. В случае использования естественной формы число представляется как совокупность целой части числа и отделенной от нее запятой дробной части. Место запятой фиксировано, поэтому для целой и дробной частей числа выделяется конкретное количество разрядов отведенного поля памяти. Например, если для целой и дробной частей числа отводится по три десятичных разряда, то число 635,4 будет представляться в виде +635,400, а число -8,481 в виде -008,481. Очевидно, что в таком поле памяти можно хранить числа, расположенные в диапазоне от 000,001 до 999,999. Числа, меньшие 0,001, представить в таком поле нельзя, а наименьшее число 0,001 определяет точность представления чисел в данном поле памяти. Если в рассмотренном примере при выполнении арифметических действий над числами будет получен результат, больший наибольшего числа 999,999, например:
то в разрядах, отведенных для целой части числа, будет записано 000. Такое явление называют переполнением разрядной сетки. Для уменьшения вероятности переполнения при кодировании числовой информации в естественной форме запятая обычно фиксируется перед старшим цифровым разрядом, т. е. используются числа, меньшие единицы. Это исключает возможность переполнения при выполнении операции умножения (наиболее опасной с точки зрения переполнения разрядной сетки), так как результат всегда будет меньше единицы. Числа с фиксированной запятой в этом случае представляются только группой цифр, следующих после запятой. Например, число +0,0885 будет представляться в виде , где n - количество разрядов, отведенных для представления числа без знака (ноль целых и запятая в коде числа не присутствуют и в памяти не хранятся). Более удобной является нормальная форма представления чисел, в которой для их изображения используются произведения пар сомножителей вида: , где m - мантисса (цифровая часть числа); р - основание системы счисления; q - порядок числа. При этом для мантиссы m должно выполняться условие | m | < 1. Например, число 6,42 в нормальной форме можно записать так: , и т. д. Порядок указывает действительное положение запятой в числе и может быть как положительным, так и отрицательным. Например: . Если мантисса числа, представленного в нормальной форме, удовлетворяет условию , то число называют нормализованным. У таких чисел первая цифра мантиссы всегда отлична от нуля. Число в памяти машины желательно хранить в нормализованном виде, при этом в поле памяти будет представлено максимальное количество цифр его мантиссы. Нормализация числа осуществляется сдвигом числа влево и соответствующим уменьшением его порядка. При выполнении арифметических операций над числами, представленными в нормальной форме, возможность переполнения не исключается, например при сложении, однако, сдвинув мантиссу вправо и увеличив порядок, результат можно исправить. Восстановление нормализации выполняется машиной автоматически в процессе обработки данных, поэтому сбои счета в результате переполнения происходят сравнительно редко. В отведенном для изображения нормализованного числа поле памяти оно представляется в форме двух наборов цифр, один из которых содержит мантиссу, а другой - порядок. Как и при использовании естественной формы, ноль целых и запятая в мантиссе не представлены. Перед изображениями мантиссы и порядка размещаются соответствующие знаки. Например, числа и будут записаны в память в виде +625+01 и -625-02 соответственно. Использование нормального представления чисел в ЦВМ существенно расширяет диапазон обрабатываемых машиной данных и упрощает процесс подготовки задач к решению. Кодирование алфавитно-цифровой информации. В современных цифровых вычислительных машинах с помощью двоичных кодов можно изображать, хранить и обрабатывать не только числовую, но и любую другую алфавитно-цифровую информацию. Множество символов компьютера определяется специальной таблицей кодировки. Кодовая таблица персонального компьютера содержит 256 символов, а код носит название ASCII. В ASCII символы с кодами от 0 до 127 используются для представления цифр, арифметических операций, букв латинского алфавита, знаков пунктуации и управления процессами. Символы с кодами от 128 до 255 являются дополнительными и их начертание зависит от страны, где используется данный компьютер. Эта часть таблицы используется для представления символов псевдографики и букв национального алфавита. В странах СНГ наиболее широкое распространение получила русская альтернативная дополнительная таблица, приведенная ниже.
Основание системы 16: форма представления - 8C808C80
Основание системы 10: - 140128140128
Основание системы 8: - 214200214200
Основание системы 2: - 1000110010000001000110010000000
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.01 сек.) |