Автор: Пользователь скрыл имя, 29 Мая 2015 в 17:00, курсовая работа
Целью курсового проекта является создание математической модели и программного приложения перевода чисел из десятичной в шестнадцатеричную, восьмеричную и двоичную системы счисления. Программный продукт написан на
языке программирования Delphi, имеет простой и удобный интерфейс, понятный даже начинающему пользователю.
2 Исходные данные, искомые результаты и формы их представления
Правила перевода целых чисел. Результатом перевода целого числа всегда является целое число.
Перевод из десятичной системы счисления в двоичную и шестнадцатеричную системы счисления:
а) исходное целое число делится на основание системы счисления, в которую переводится (на 2 - при переводе в двоичную систему счисления или на 16 - при переводе в шестнадцатеричную); получается частное и остаток;
б) если полученное частное меньше основания системы счисления, в которую выполняется перевод, процесс деления прекращается, переходят к шагу в). Иначе над частным выполняют действия, описанные в шаге а);
в) все полученные остатки и последнее частное преобразуются в соответствии с таблицей перевода в цифры той системы счисления, в которую выполняется перевод;
г) формируется результирующее число: его старший разряд – полученное последнее частное, каждый последующий младший разряд образуется из полученных остатков от деления, начиная с последнего и кончая первым. Таким образом, младший разряд полученного числа – первый остаток от деления, а старший – последнее частное.
Например, выполнить перевод числа 19 в двоичную систему счисления:
Таким образом, 19 = 100112.
Для перевода чисел из десятичной системы счисления в восьмеричную используют тот же "алгоритм замещения", что и при переводе из десятичной системы счисления в двоичную, только в качестве делителя используют 8, основание восьмеричной системы счисления:
а) разделить десятичное число на 8. Частное запоминаем для следующего шага, а остаток записываем как младший бит восьмеричного числа;
б) если частное не равно 0, принимаем его за новое делимое и повторяем процедуру, описанную в шаге а). Каждый новый остаток записывается в разряды восьмеричного числа в направлении от младшего бита к старшему.
в) алгоритм продолжается до тех пор, пока в результате выполнения шагов а) и б) не получится частное равное 0 и остаток меньше 8.
Например, требуется перевести десятичное число 3336 в восьмеричное. В соответствии с приведенным алгоритмом получим:
333610 : 8 = 41710 |
333610 - 333610 = 0, остаток 0 записываем в МБ восьмеричного числа. |
41710 : 8 = 5210 |
41710 - 41610 = 1, остаток 1 записываем в следующий после МБ разряд восьмеричного числа. |
5210 : 8 = 610 |
5210 - 4810 = 4, остаток 4 записываем в старший разряд восьмеричного числа. |
610 : 8 = 010, остаток 0, записываем 6 в самый старший разряд восьмеричного числа. |
Таким образом, искомое восьмеричное число равно 64108.