Читайте также:
|
|
Подлежащие обработке в ЦВМ сообщения должны быть предварительно закодированы, т.е. изображены в виде наборов некоторых символов (кодовых комбинаций). Эти наборы в свою очередь представляются в технических устройствах, хранящих и обрабатывающих информацию, наборами сигналов некоторой физической природы или состояний элементов, используемых в устройствах.
Характер символов, применяющихся для кодирования информации, зависит от используемого алфавита - конечного списка различных букв, цифр или любых других знаков, используемых в соответствующем языке. Комбинации, составленные из символов по правилам используемого языка, называют кодами.
Рассмотрим некоторые цифровые коды, нашедшие широкое распространение для представления информации в ЦВМ (включая цифровое представление буквенных текстов).
Кодирование цифровой информации. Цифровые алфавиты для кодирования величин называют системами счисления. Среди бесконечного набора таких систем широко известны по крайней мере две системы: римская и десятичная.
Римская система относится к непозиционным системам, в которых “вес” цифры (количество, ею изображаемое) не зависит от места расположения этой цифры в числе, т. е. постоянен. Непозиционные системы счисления в силу указанного свойства неудобны в пользовании и в настоящее время почти не применяются.
Десятичная система - позиционная, в ней вес каждой цифры переменный и определяется местом (позицией), занимаемым этой цифрой в числе. В любой позиционной системе счисления некоторое число может быть определено выражением , где р - основание системы счисления, или объем цифрового алфавита (количество различных цифровых символов, входящих в этот алфавит); 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
Десятичные | Двои-чные | Вось-мерич-ные | Шестнадцатеричные | Десятичные | Двоичные | Вось-меричные | Шестнадцатеричные |
A | |||||||
B | |||||||
C | |||||||
D | |||||||
E | |||||||
F |
Двоичная Двоичная Двоичная таблица сложения таблица вычитания таблица умножения 0+0= 0 0-0=0 0*0=0 1+0= 1 1-0=1 1*0=0 0+1= 1 1-1=0 0*1=0 1+1=10 10-1=1 1*1=1 |
Таблицы сложения, вычитания и умножения двоичных чисел чрезвычайно просты. С помощью этих таблиц сложение вычитание, умножение и деление двоичных чисел выполняются по тем же правилам по которым мы привыкли складывать, вычитать, умножать и делить десятичные чисел.
Сложение Вычитание 1100111,011 10110,1101 + - 10011,111 10001,1111 ------------------- -------------------- 1111011,010 100,1110 Умножение Деление _ 11011101101 | 1001 11000101 1001 ------------- + 1001 ------------------ 11000101 -------------- _ 1001 + 11000101 1001 11000101 ----------------- ------------------- -1011 11011101101 1001 ------------------ _1001 ------------------ |
Пример 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, например:
864,455 + 135,546 ------------ 1000,001 |
то в разрядах, отведенных для целой части числа, будет записано 000. Такое явление называют переполнением разрядной сетки.
Для уменьшения вероятности переполнения при кодировании числовой информации в естественной форме запятая обычно фиксируется перед старшим цифровым разрядом, т. е. используются числа, меньшие единицы. Это исключает возможность переполнения при выполнении операции умножения (наиболее опасной с точки зрения переполнения разрядной сетки), так как результат всегда будет меньше единицы.
Числа с фиксированной запятой в этом случае представляются только группой цифр, следующих после запятой. Например, число +0,0885 будет представляться в виде , где n - количество разрядов, отведенных для представления числа без знака (ноль целых и запятая в коде числа не присутствуют и в памяти не хранятся).
Более удобной является нормальная форма представления чисел, в которой для их изображения используются произведения пар сомножителей вида: , где m - мантисса (цифровая часть числа); р - основание системы счисления; q - порядок числа. При этом для мантиссы m должно выполняться условие | m | < 1. Например, число 6,42 в нормальной форме можно записать так: , и т. д.
Порядок указывает действительное положение запятой в числе и может быть как положительным, так и отрицательным. Например: .
Если мантисса числа, представленного в нормальной форме, удовлетворяет условию , то число называют нормализованным. У таких чисел первая цифра мантиссы всегда отлична от нуля. Число в памяти машины желательно хранить в нормализованном виде, при этом в поле памяти будет представлено максимальное количество цифр его мантиссы. Нормализация числа осуществляется сдвигом числа влево и соответствующим уменьшением его порядка.
При выполнении арифметических операций над числами, представленными в нормальной форме, возможность переполнения не исключается, например при сложении, однако, сдвинув мантиссу вправо и увеличив порядок, результат можно исправить. Восстановление нормализации выполняется машиной автоматически в процессе обработки данных, поэтому сбои счета в результате переполнения происходят сравнительно редко.
В отведенном для изображения нормализованного числа поле памяти оно представляется в форме двух наборов цифр, один из которых содержит мантиссу, а другой - порядок. Как и при использовании естественной формы, ноль целых и запятая в мантиссе не представлены. Перед изображениями мантиссы и порядка размещаются соответствующие знаки. Например, числа и будут записаны в память в виде +625+01 и -625-02 соответственно. Использование нормального представления чисел в ЦВМ существенно расширяет диапазон обрабатываемых машиной данных и упрощает процесс подготовки задач к решению.
Кодирование алфавитно-цифровой информации. В современных цифровых вычислительных машинах с помощью двоичных кодов можно изображать, хранить и обрабатывать не только числовую, но и любую другую алфавитно-цифровую информацию.
Множество символов компьютера определяется специальной таблицей кодировки. Кодовая таблица персонального компьютера содержит 256 символов, а код носит название ASCII. В ASCII символы с кодами от 0 до 127 используются для представления цифр, арифметических операций, букв латинского алфавита, знаков пунктуации и управления процессами.
Символы с кодами от 128 до 255 являются дополнительными и их начертание зависит от страны, где используется данный компьютер. Эта часть таблицы используется для представления символов псевдографики и букв национального алфавита. В странах СНГ наиболее широкое распространение получила русская альтернативная дополнительная таблица, приведенная ниже.
Дата добавления: 2015-10-02; просмотров: 69 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Элементы теории информации | | | Машинная арифметика |