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

Автор: Пользователь скрыл имя, 01 Мая 2012 в 17:54, курсовая работа

Описание работы

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

Содержание

Введение
Глава 1. Использование систем счисления в информатике
1.1. Понятие системы счисления
1.2. Непозиционные и позиционные системы счисления
1.3. Двоичное кодирование информации в компьютере
1.4. Представление чисел в компьютере
1.5. Способы построения двоичных кодов
Глава 2. Алгоритм решения задачи
Заключение
Список использованной литературы

Работа содержит 1 файл

информатика курсовая .doc

— 2.46 Мб (Скачать)

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

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

     

     Таким образом, в результате преобразования получаем 75,35(10) = 1001011,01011...(2). Как следует из примера, процесс перевода дробной части можно продолжить до бесконечности. ЭВМ оперирует числами, представленными конечными наборами цифр. Поэтому дроби округляют в соответствии с правилами преобразования и весом младшего разряда исходной дроби.

     Преобразование  чисел из двоичной системы счисления  в восьмеричную, шестнадцатеричную  и обратно осуществляется по упрощенным правилам с учетом того, что основания  этих систем счисления кратны целой степени 2, т. е. 8=23 , а 16=24 . Это означает, что при преобразовании восьмеричного кода числа в двоичный, необходимо каждую восьмеричную цифру заменить соответствующим трехзначным двоичным кодом (триадой). При преобразовании шестнадцатеричного кода числа в двоичный необходимо каждую шестнадцатеричную цифру заменить четырехзначным двоичным кодом (тетрадой). При преобразовании двоичного кода в восьмеричный или шестнадцатеричный двоичный код делится соответственно на триады или тетрады влево и вправо от запятой (точки), разделяющей целую и дробные части числа. Затем триады (тетрады) заменяются восьмеричными (шестнадцатеричными) цифрами. При представлении числа Х в форме с фиксированной точкой указываются знак числа (sign X) и модуль числа (modX) в q-ичном коде. Иногда такую форму представления чисел называют естественной формой. Место точки (запятой) постоянно для всех чисел и в процессе решения задач не меняется. Знак положительного числа кодируется цифрой «0», а знак отрицательного числа - цифрой «1».

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

     1.3. Двоичное кодирование информации в компьютере

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

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

     Создатели первых компьютеров столкнулись  с проблемой представления и  обработки информации. Так как  компьютер это всего лишь машина у которой нет ни интеллекта, ни логики, и мыслить она не способна, разработчикам пришлось найти такой способ представления информации, который был бы максимально прост для восприятия компьютером. Столь привычная для нас десятичная система оказалась неудобной для ЭВМ. Если в механических вычислительных устройствах, использующих десятичную систему, достаточно просто применить элемент с множеством состояний (колесо с девятью зубьями), то в электронных машинах надо было бы иметь 10 различных потенциалов в цепях. Наиболее просто реализуется элементы с двумя состояниями - триггеры. Поэтому естественным был переход на двоичную систему, т.е. системы по основанию 2. В этой системе всего две цифры - 0 и 1 . Каждая цифра называется двоичной (от английского binary digit - двоичная цифра). Сокращение от этого выражения привело к появлению термина бит, ставшего названием разряда двоичного числа.

     Бит - это минимальная единица измерения  информации (0 или1). За битом следует  байт, состоящий из восьми бит, затем  килобайт (кбайт) - 1024 байта, мегабайт (мбайт) - 1024 кбайта, гигобайт (гбайт) - 1024мбайт11.

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

     Таким образом, информация представляется в  виде конечной последовательности 0 и 1. Например целое неотрицательное число А2=Т 111100002 будет храниться в ячейке следующим образом:

1 1 1 1 0 0 0 0

     Значит, мы можем записать все числа от 0 до 255 в двоичной системе счисления  в 1 ячейке памяти.

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

     Целые числа в компьютере хранятся в ячейках памяти, в этом случае каждому разряду ячейки памяти соответствует всегда один и тот же разряд числа.

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

     Например, число 1910 будет выглядеть:

0 о 0 1 0 0 1 1

 

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

     Например, число -9810 будет выглядеть:

1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0

     Представление целых чисел в компьютере в  формате «знак - величина» называется прямым кодом числа. Например, число 200210=111110100102 будет представлено в шестнадцатиразрядном представлении следует следующим образом:

0 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0

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

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

     2n-|А|+|А| =0

     поскольку в компьютерной 2n=0.

     Алгоритм  построения такого кода довольно прост:

     1. Записать модуль числа в прямом коде.

     2. Получить обратный код числа  (то есть заменить все нули  на единицы, а все единицы  на нули).

     3. К полученному результату прибавить  единицу.

     Запишем дополнительный код отрицательного числа -2002 для 16-разрядного представления:

     

     Запишем дополнительный код отрицательного числа -16320 для 16-разрядного представления:

     

     1.5. Способы построения двоичных кодов

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

     Традиционно для кодирования одного символа используется количество информации равное 1 байту, то есть 8 бит. Если рассматривать символы как возможные события, то получаем, что количество различных символов, которые можно закодировать, будет равно 256. Такое количество символов вполне достаточно для представления текстовой информации, включая прописные и строчные буквы русского и латинского алфавитов, а так же цифры, знаки препинания и математических операций, графические символы и так далее.

     Но  способов построения таких кодов  очень много, рассмотрим некоторые  из них13:

     Алфавитное  неравномерное двоичное кодирование

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

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

     Возможны  различные варианты двоичного кодирования, однако, не все они будут пригодны для практического использования - важно, чтобы закодированное сообщение  могло быть однозначно декодировано, т.е. чтобы в последовательности 0 и 1, которая представляет собой многобуквенное кодированное сообщение, всегда можно было бы различить обозначения отдельных букв.

      Рассмотрим  пример построения двоичного кода для  символов русского алфавита: 
 
 
 
 
 
 
 
 
 
 
 
 

       
 
 
 
 

     Неравномерный код с разделителями

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

     Проще всего достичь однозначного декодирования, если коды будут разграничены разделителем - некоторой постоянной комбинацией двоичных знаков. Условимся, что разделителем отдельных кодов букв будет последовательность 00 (признак конца знака), а разделителем слов - 000 (признак конца слова - пробел). Довольно очевидными оказываются следующие правила построения кодов:

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

     — коды букв не должны содержать двух и более нулей подряд в

     середине (иначе они будут восприниматься как конец знака);

     — код буквы (кроме пробела) всегда должен начинаться с 1;

Информация о работе Системы счисления