Смекни!
smekni.com

Системы счисления и коды (стр. 1 из 2)

Содержание

Задание на курсовую работу

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

2. Перевод числа из одной системы в другую

3. Машинное представление информации

4. Числа с фиксированной точкой

4.1Прямой код

4.2Обратный код, инверсный или дополнительный "до 1"

4.3Дополнительный или дополнительный "до 2" код

5. Схема алгоритма

6. Программная реализация алгоритма

6.1 Общие сведения

6.2 Описание использованных функций и процедур

Библиографический список

Приложение


Рязанская государственная радиотехническая академия

Кафедра САПР вычислительных средств

Задание на курсовую работу

по дисциплине " Информатика"

студентке группы 246

Тема: Системы счисления и коды

Срок представления работы к защите: 20 мая 2003г.

Задание:

Разработать программу, которая выполняет следующие действия:

1. Считывает из файла два числа;

2. Переводит эти числа в заданную систему счисления;

3. Выполняет арифметические действия в заданной системе счисления;

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

Форма представления исходных данных и результатов Система счисления для исходных данных и результатов Система счисления для выполнения арифметических действий Выполняемые арифметические действия
Целые числа со знаком шестнадцатеричная Двоичная, дополнительный код Сложениевычитание

Руководитель работы_________________.

Задание выдано 200 г.

Задание принято к исполнению________.


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

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

Число единиц какого-либо разряда, объединяемых в единицу более старшего разряда, называют основанием позиционной системы счисления. Если количество таких цифр равно P, то система счисления называется P-ичной. Основание системы счисления совпадает с количеством цифр, используемых для записи чисел в этой системе счисления.

Запись произвольного числа x в P-ичной позиционной системе счисления основывается на представлении этого числа в виде многочлена

x = anPn + an-1Pn-1 + ... + a1P1 + a0P0 + a-1P-1 + ... + a-mP-m

Арифметические действия над числами в любой позиционной системе счисления производятся по тем же правилам, что и десятичной системе, так как все они основываются на правилах выполнения действий над соответствующими многочленами. При этом нужно только пользоваться теми таблицами сложения и умножения, которые соответствуют данному основанию P системы счисления.В электронных вычислительных машинах применяют позиционные системы счисления с недесятичным основанием: двоичную, восьмеричную, шестнадцатеричную и некоторые другие. Наибольшее распространение в вычислительных машинах имеет двоичная система счисления. В этой системе используются только две цифры: 0 (нуль) и 1 (единица). Двоичное изображение числа требует большего (для многоразрядного числа примерно в 3,3 раза) количества разрядов, чем его десятичное представление.

Тем не менее применение двоичной системы позволяет уменьшить общее количество аппаратуры и создаёт большие удобства для проектирования цифровых вычислительных машин, так как для представления в машине разряда двоичного числа может быть использован любой простой элемент, имеющий всего два устойчивых состояния. Такими элементами, например, являются реле, триггерные схемы и т.п. Для представления десятичного разряда потребовалось бы четыре таких элемента. Помимо двоичной системы счисления в вычислительной технике используется также другие системы с недесятичным основанием - восьмеричная и шестнадцатеричная, имеющие основанием соответственно числа 8 и 16. В восьмеричной системе употребляются восемь цифр: 0, 1, 2, 3, 4, 5, 6, 7. В шестнадцатеричной системе для изображения чисел употребляется 16 чисел от 0 до 15. При этом, чтобы одну цифру не изображать двумя знаками, приходится вводить специальные обозначения для цифр, больших девяти. Первые десять цифр этой системы обозначают цифрами от 0 до 9, а старшие пять цифр - латинскими буквами: A, B, C, D, E, F.

2. Перевод числа из одной системы в другую

Правила преобразования в восьмеричных и шестнадцатеричных чисел в двоичные исключительно просты, поскольку основания этих систем есть целые степени числа два: 8 = 23, 16 = 24. Для перевода восьмеричного числа в двоичную форму достаточно заменить каждую цифру восьмеричного числа соответствующим трёхразрядным двоичным числом. Таким же образом для перехода от шестнадцатеричной системы к двоичной каждая цифра заменяется соответствующим четырёхразрядным двоичным числом(см таблицу). Например, восьмеричное число 306,4 в двоичной форме записи имеет вид:

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

Десятичное изображение Двоичное изображение Восьмеричное изображение Шестнадцатеричное изображение
0 00000 0 0
1 00001 1 1
2 00010 2 2
3 00011 3 3
4 00100 4 4
5 00101 5 5
6 00110 6 6
7 00111 7 7
8 01000 10 8
9 01001 11 9
10 01010 12 A
11 01011 13 B
12 01100 14 C
13 01101 15 D
14 01110 16 E
15 01111 17 F
16 10000 20 10

При переводе чисел из десятичной системы счисления в систему с основанием P > 1 обычно используют следующий алгоритм:

1) если переводится целая часть числа, то она делится на P, после чего запоминается остаток от деления. Полученное частное вновь делится на P, остаток запоминается. Процедура продолжается до тех пор, пока частное не станет равным нулю. Остатки от деления на P выписываются в порядке, обратном их получению;

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

3. Машинное представление информации

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

Далее следуют - тетрада (4 бита), байт ( byte 8 бит), двойное слово (DoubleWord 16 бит) или длинное (LongWord 16 бит) и учетверенное слова. Младший бит обычно занимает крайнюю правую позицию.


4. Числа с фиксированной точкой

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

Естественным представлением целого неотрицательного числа является двоичная система счисления. Кодирование отрицательных чисел производится тремя наиболее употребительными способами, в каждом из которых крайний левый бит - знаковый. Отрицательному числу соответствует единичный бит, а положительному - нулевой. Каждый способ оценивается по скорости и затратам на выполнение сложения и изменения знака числа, т.к. вычитание есть сложение с измененным знаком одного операнда.

4.1Прямой код

Изменение знака производится просто, путем инверсии бита знака. Пусть 00001001 = 9, тогда 10001001 = -9. Если при сложении двух чисел в этом коде знаки совпадают, то трудностей нет. Если знаки различаются необходимо найти наибольшее число, вычесть из него меньшее, а результату присвоить знак наибольшего слагаемого.

4.2Обратный код, инверсный или дополнительный "до 1"

Изменение знака производится просто - инверсией всех бит: 00001001 = 9, а 11110110 = -9. Сложение также выполняется просто, т.к. знаковые биты можно складывать. При переносе единицы из левого (старшего) бита, она должна складываться с правым (младшим). Например: 7 + (-5) = 2.

00000111 = 7

11111010 =-5 (инверсия 00000101 = 5)

1 00000001

1 00000010 = 2

Сложение в обратном коде происходит быстрее, т.к. не требуется принятие решения, как в предыдущем случае. Однако суммирование бита переноса требует дополнительных действий. Другим недостатком этого кода является представление нуля двумя способами, т.к. инверсия 0...00 равна 1. ..11 и сумма двух разных по знаку, но равных по значению чисел дает 1...11.Например: (00001001 = 9) + (11110110 = -9) = 11111111. Кстати, из этого примера понятно почему код называется дополнительным "до 1".