Автор: Пользователь скрыл имя, 01 Мая 2012 в 17:54, курсовая работа
Столь привычная для нас десятичная система оказалась неудобной для электронно-вычислительных машин (ЭВМ). Если в механических вычислительных устройствах, использующих десятичную систему, достаточно просто применить элемент с множеством состояний (колесо с девятью зубьями), то в электронных машинах надо было бы иметь 10 различных потенциалов в цепях. Цель курсовой работы – рассмотреть системы счисления с компьютерной обработке.
Введение
Глава 1. Использование систем счисления в информатике
1.1. Понятие системы счисления
1.2. Непозиционные и позиционные системы счисления
1.3. Двоичное кодирование информации в компьютере
1.4. Представление чисел в компьютере
1.5. Способы построения двоичных кодов
Глава 2. Алгоритм решения задачи
Заключение
Список использованной литературы
Правило умножения используется для преобразования дробного числа, записанного в 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. Например целое неотрицательное число А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-х годов, компьютеры все
больше использовать для обработки
текстовой информации и в настоящее
время большая часть
Традиционно для кодирования одного символа используется количество информации равное 1 байту, то есть 8 бит. Если рассматривать символы как возможные события, то получаем, что количество различных символов, которые можно закодировать, будет равно 256. Такое количество символов вполне достаточно для представления текстовой информации, включая прописные и строчные буквы русского и латинского алфавитов, а так же цифры, знаки препинания и математических операций, графические символы и так далее.
Но способов построения таких кодов очень много, рассмотрим некоторые из них13:
Алфавитное неравномерное двоичное кодирование
При алфавитном способе двоичного кодирования символы некоторого первичного алфавита (например, русского) кодируются комбинациями символов двоичного алфавита (т.е. 0 и 1), причем, длина кодов и, соответственно, длительность передачи отдельного кода, могут различаться. Оптимизировать кодирование можно за счет суммарной длительности сообщения.
Суммарная длительность сообщения будет меньше, если применить следующий подход: чем буква первичного алфавита, встречается чаще, то присваиваем ей более короткой по длине код. Следовательно, коды букв, вероятность появления которых в сообщении выше, следует строить из возможно меньшего числа элементарных сигналов.
Возможны
различные варианты двоичного кодирования,
однако, не все они будут пригодны
для практического
Рассмотрим
пример построения двоичного кода для
символов русского алфавита:
Неравномерный код с разделителями
Для того что бы было проще декодировать сообщения был придуман код с разделителями.
Проще всего достичь однозначного декодирования, если коды будут разграничены разделителем - некоторой постоянной комбинацией двоичных знаков. Условимся, что разделителем отдельных кодов букв будет последовательность 00 (признак конца знака), а разделителем слов - 000 (признак конца слова - пробел). Довольно очевидными оказываются следующие правила построения кодов:
— код признака конца знака может быть включен в код буквы, поскольку не существует отдельно (т.е. кода всех букв будут заканчиваться 00);
— коды букв не должны содержать двух и более нулей подряд в
середине
(иначе они будут
— код буквы (кроме пробела) всегда должен начинаться с 1;