Курсовая работа: Системы счисления и коды
- BaseToInt – обратный перевод из Base-системы счисления в десятичную СС;
DecToBase
Данная функция является программным осуществлеием алгоритма преобразования числа из десятичной системы счисления в любую другую, описанного выше.
Удобство функции заключается в том, что она чувствительнак знаку числа и по умолчанию при переводе в двоичную систему счисления использует дополнительный "до 1" код, что избавляет нас от написания дополнительной функции перевода.
BaseToInt
Данная функция реализует алгоритм преобразования числа Base- системы счисления в десятичную по следующей формуле:
x = an Pn + an -1 Pn -1 + ... + a1 P1 + a0 P0 + a-1 P-1 + ... + a-m P-m
p-основание СС; Х – десятичное представление числа.
Функция определяет знак числа за счет учета инверсии: т.к. используем 8 разрядную двоичную сетку и числа со знаком, то имеет 128 отрицательных и 127 положительных значений и ноль (всего 256), то есть отрицательная величина лежит в диапазоне беззнаковых значений 128..256. А выражение (256-<x>), где <x> - беззнаковая величина после преобразования, есть модуль отрицательного числа.
Функции сложения и вычитания
Сложение. Функция BinPlus
Функция бинарного сложения работает по следующему алгоритму.
Вычитание. Функция BinMinus.
Принцип работа данной функции основан на тождестве a-b=a+(-b).
Библиографический список
1. TurboPascal 7.0.(том 1)/ Фаронов., Питер. Прес.,2000г.
2. "Введение в информатику. Лабораторные работы."/ Авт.-сост. А.П. Шестаков; Перм. ун-т. — Пермь, 1999. (Ч. I — 56 с.)
3. Основы информатики/ Савельев А.Я. , МГТУ им. Баумана.
Приложение
Исходный текст программы
{для реализации данной программы взята 8 разрядная двоичная сетка}
{следовательно диапазон значений должен быть с пределах от -127..127}
Program CourceProject_v1_13;
uses Crt;
const
Group=’246’;
Name=’’; {Фамилия И.О. студента}
PrepName=’’; {Фамилия И.О. преподавателя}
InFileName=’in.txt’;
OutFileName=’Out.txt’;
function StrToVal(Ch:Char):byte;
var value,code:integer;