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

Автор работы: Пользователь скрыл имя, 22 Мая 2013 в 08:02, курсовая работа

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

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

Содержание работы

Введение …………………………………………………………………… 3
1 Системы счисления ……………………………………………………... 6
1.1 История создания систем счисления ………………………………… 6
1.2 Виды систем счисления ……………………………………………….. 8
1.3 Перевод чисел из одной системы счисления в другую …………… 13
2 Проектная часть ………………………………………………………... 16
2.1Постановка задачи ……………………………………………………. 16
2.2 Входные и выходные данные ……………………………………….. 16
2.3 Описание алгоритма ………………………………………………….. 17
2.4 Тестирование ………………………………………………………….. 21
Заключение ………………………………………………………………… 22
Глоссарий ………………………………………………………………….. 24
Список использованных источников

Файлы: 1 файл

Курсовая работа Программа перевода из одной системы счисления в другую.doc

— 216.00 Кб (Скачать файл)

В XIX веке  довольно широкое распространение получила двенадцатеричная система счисления. До сих пор мы часто употребляем дюжину (число 12), например, в сутках две дюжины часов.

Наиболее распространенными  в настоящее время позиционными системами счисления являются десятичная, двоичная, восьмеричная и шестнадцатеричная. Каждая позиционная система имеет определенный алфавит цифр и основание. 

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

Для ρ - ичной системы  счисления нужно ρ цифр. Если ρ < 10, то применяются те же обозначения цифр, что и в десятичной системе счисления (только берутся цифры, меньше основания системы).

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

Возникает вопрос - почему стали раскладывать предметы на десятки, а не на пятки или дюжины? Почему единицы каждого разряда в  десять, а не в восемь или три  раза больше единиц предыдущего разряда?

Счет десятками получил широкое  распространение потому, что люди располагают естественной "счетной машиной", связанной с числом десять -десятью пальцами на руках.

Десятичная нумерация "изобретена" индусами; в Европу ее занесли арабы, вторгшиеся в Испанию в VIII в. нашей  эры. Арабская нумерация распространилась по всей Европе, и, будучи проще и удобнее остальных систем счисления, быстро их вытеснила. До сих пор наши цифры принято называть арабскими. Впрочем, за тысячу лет все цифры, кроме 1 и 9, сильно изменились.

Названия первых шести разрядов (единицы, десятки, сотни, тысячи и так далее) очень древние и у разных народов звучат по-разному.

Слово "миллион" сравнительно недавнего  происхождения. Придумал его известный  венецианский путешественник Марко  Поло, которому не хватало обыкновенных чисел, чтобы рассказать о необычайном изобилии людей и богатств далекой Небесной Империи (Китай). По-русски слову "миллион" могло бы соответствовать несуществующее слово "тысячища".

Для построения числовых наименований более высоких порядков используются латинские числительные (биллионы, триллионы). Построенные таким образом названия мало удобны, латынь знают не все. Да и вообще такие числа встречаются только в сборниках математических курьезов, да в некоторых отделах теории чисел. Нет необходимости придумывать им рациональные названия. Здесь на помощь приходит понятие степени. Число, изображаемое единицей с нулями, является степенью десятки: 100= 102, 1000= 103, 10...00...00= 10n.

Эти соображения позволяют нам  очень коротко и удобно записывать все числа, которые даются нам  наукой и жизнью. Например, масса Земного шара - 6 000 000 000 000 000 000 000 тонн. Мы можем записать: 6 • 1021 тонн, и назвать "шесть на десять в двадцать первой степени", это коротко и удобно.

В практической жизни при счете  предметов, которых очень много, например, жителей страны, при измерении различных величин, удается определить только первые несколько цифр результата. Любое число, данное практически, удается записать как произведение не более чем восьмизначного (чаще трех - четырехзначного) числа на "единицу с нулями". Например, поверхность Земли - 509 000 000 км2. Можно записать так: 509 • 106км2.

Классическим примером числового гиганта является награда, которую, если верить старинной легенде, потребовал себе изобретатель шахматной  доски: за первую клетку доски — одно зерно риса, за вторую — два, за третью - четыре и так далее, за каждую последующую - в два раза больше, чем за предыдущую. Эта скромная на вид просьба оказалась невыполнимой: все житницы мира не смогут вместить риса, затребованного хитрым изобретателем.

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

В двоичной системе счисления используется две цифры: 1 и 0. 2 -  наименьшее возможное  основание системы позиционной  системы счисления. Компьютер работает с числами в двоичной системе счисления. Эта идея принадлежит Джону фон Неймону, сформулировавшему в 1946 году принципы устройства и работы ЭВМ.

Восьмеричная система счисления - позиционная система счисления  с основанием 8. Для представления  чисел в ней используются арабские цифры. Используется всего восемь цифр - 0, 1, 2, 3, 4, 5, 6, 7.Восьмеричная система часто используется в областях, связанных с цифровыми устройствами. Характеризуется лёгким переводом восьмеричных чисел в двоичные и обратно, путём замены восьмеричных чисел на триады двоичных. Широко использовалась в программировании в 1950-70-ые гг. и вообще в компьютерной документации, однако в настоящее время почти полностью вытеснена шестнадцатеричной.

Шестидесятеричная система счисления  существовала и возникла в Древнем Вавилоне. Мнения историков по поводу того, как именно возникла эта система, расходятся. Одна из гипотез, состоит в том, что произошло слияние двух племен, одно из которых пользовалось шестеричной системой счисления, я второе - десятичной. Шестидесятеричная система возникла как компромисс между этими двумя системами. Другая гипотеза состоит в том, что вавилоняне считали продолжительность года равной 360 суткам, что, естественно, связывалось с числом 60. Однако это предположение тоже нельзя считать достаточно обоснованным: астрономические познания древних вавилонян были довольно значительны, поэтому следует думать, что погрешность, с которой они определяли продолжительность года, была значительно меньше, чем пять суток.

Пятеричная система  счисления была распространена у ряда африканских племен. Связь этой системы со строением человеческой руки - первоначальной "счетной машины" - достаточно очевидна. В Китае принято считать пятками, причем пятки группируются в пары; получается своеобразная система счисления, в которой каждая единица четного порядка в пять, а нечетного - в два раза больше предыдущей. Однако эта система счисления с двойным основанием, отражающая счет с помощью двух рук, довольно сложна. Гораздо чаще используется чистая пятеричная система, то есть позиционная система с основанием пять.

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

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

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

 

1.3 Перевод  чисел из одной системы счисления в другую

 

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

где p – основание системы счисления, ai – цифры числа,  а показатель степени n - это номер позиции цифры в записи числа (нумерация ведется с права на лево).

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

Правила перевода целых  чисел. Перевод  двоичных  чисел в десятичную систему счисления. Результатом перевода целого числа всегда является целое число.

Перевод из десятичной системы  счисления в двоичную и шестнадцатеричную:

а) исходное целое число  делится на основание системы  счисления, в которую переводится (на 2 - при переводе в двоичную систему  счисления или на 16 - при переводе в шестнадцатеричную); получается частное  и остаток;

б) если полученное частное  меньше основания системы счисления, в которую выполняется перевод, процесс деления прекращается, переходят к шагу в). Иначе над частным выполняют действия, описанные в шаге а);

в)  все полученные остатки и последнее частное преобразуются в соответствии с таблицей перевода в цифры той системы счисления, в которую выполняется перевод;

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

Перевод из двоичной и  шестнадцатеричной систем счисления  в десятичную.

В этом случае рассчитывается полное значение числа.

Перевод из двоичной системы счисления в шестнадцатеричную:

а) исходное число разбивается  на тетрады (т.е. 4 цифры), начиная с  младших разрядов. Если количество цифр исходного двоичного числа  не кратно 4, оно дополняется слева  незначащими нулями до достижения кратности 4;

б) каждая тетрада заменятся  соответствующей шестнадцатеричной  цифрой.

Перевод из шестнадцатеричной  системы счисления в двоичную:

а) каждая цифра исходного  числа заменяется тетрадой двоичных цифр. Если  двоичное число имеет менее 4 цифр, оно дополняется слева незначащими нулями до тетрады;

б) незначащие нули в результирующем числе отбрасываются.

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

 

 

2 Проектная часть

 

Постановка  задачи

 

Разработать приложение на языке программирования высокого уровня (Turbo Pascal), выполняющее перевод чисел из одной системы счисления в другую. 

 

2.1 Описание  алгоритма

 

В основной программе  сначала происходит считывание необходимых  данных для вычисления:

1.Основание исходной  системы счисления;

2.Число для перевода;

3.Основание итоговой  системы счисления;

4.Требуемая точность (количество знаков после запятой).

При этом выполняем проверку вводимых данных:

а) основание системы  счисления должно принадлежать диапазону [2;16];

б) перед исходным числом убираем лишние нули.

Затем выделяем целую  и дробную части числа и  отдельно осуществляем их перевод.

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

В итоге выводим результат вычисления.

 

2.2 Входные и выходные данные

 

Входными данными для нашей задачи являются:

1.Основания систем  счисления (исходная и итоговая) – для их хранения будем  использовать целочисленные переменные, т.к. диапазон их значений [2;16];

2.Число для перевода  – будем рассматривать дробные  числа с точкой, причем символы  числа принадлежат множеству  {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}, поэтому для представления будем использовать строковую переменную.

3.Требуемая точность  вычисления (количество знаков после  запятой) – целочисленное значение.

Выходными данными являются целая и дробная части числа  в итоговой системе счисления, представляются также строковыми переменными.

 

    1. Описание фрагментов программы

 

Рассмотрим подробнее отдельные фрагменты программы:

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

Информация о работе Программа перевода чисел из одной системы счисления в другую