![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 03.06.2010
Сообщений: 3
|
![]()
Написать программу в паскале, для перевода числа, представленного в системе
счисления с основанием 22, в системы счисления с основаниями 10, 8, 25. Обеспечить корректность ввода числа в системе счисления с основанием 22. Перевод чисел реализовать с применением функций. Разработайте функцию для перевода числа из системы счисления с основанием 22 в систему счисления с основанием 10, а затем, функции для перевода из 10 в 8 и из 8 в 25. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 12.05.2010
Сообщений: 219
|
![]()
число в системе счисления по основанию 22 будет включать цифры 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H ,I,J,K,P
(Р выбрали вместо О, чтобы не путать визуально с нулем при вводе с клавиатуры) определяем функцию, которая переводит цифры системы с основанием 22 в числа 10-тичную. Код:
Код:
Последний раз редактировалось Stilet; 07.06.2010 в 16:04. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 12.05.2010
Сообщений: 219
|
![]()
перевод числа из десятичной системы в восьмиричную осуществляется делением исходного числа на 8 и сохранением всех остатков от деления. Т.е.
опишем функцию для перевода любого числа из десятичной системы в восьмеричную function dec_to_oct(var a:integer):integer; var flag=false:boolean; var mas:array 1..20 of integer; var dlina_mas=0, mnoj,i, a1:integer; begin while(not flag) do begin dlina_mas:=dlina_mas+1; mas[dlina_mas]:=a mod 8; a:=a div 8; if(a=0) then flag=true; end; a1:=0; mnoj:=1; for i:=1 to dlina_mas do begin a1:=a1+mas[i]*mnoj; mnoj:=mnoj*8; end; result:=a1; end; |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 12.05.2010
Сообщений: 219
|
![]()
по поводу перевода числа из восьмеричной системы в 25-ричную, ИМХО, минуя десятичную систему, перевести вряд ли удастся, т.к. для системы с основанием 25 изначально не определены операции сложения.
Т.е. придется их реализовывать, а это геморрой тот еще, во всяком случае, мне так кажется. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
система счисления с 2 в 16 | never smile | Помощь студентам | 0 | 19.03.2010 16:30 |
Системы счисления | BloodMaX | Общие вопросы C/C++ | 1 | 08.11.2009 14:46 |
Системы счисления | vdv08 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 08.05.2008 17:32 |