Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
10 / 10 / 5
Регистрация: 30.11.2009
Сообщений: 119

Длинная арифметика, перевод чисел другие системы счисления

18.03.2010, 21:23. Показов 2455. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер программисты ,у меня есть один ,наверно сложный, вопрос,
проблема вот в чем когда я начал писать программу, то я не задумывался о самом важном, дума вставлю тип exstended или как он там, ну вообщим самый большой, и оно значит выдаст мне ответ стопудов, а не ука не захотело оно по-моему, ну вообщем мне нужно вписать число из 50 символов и перевести их в 2 ,3,4...16(-ную) систему исчисления ,так вот вторую часть условия я зделал а вот как мне реализовать ввод числа из 50 символов и в дальнешем его как небудь пощитать без понятия


а сама програмка вот она

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
uses crt;
 
type
mas=array[1..200]of byte;
mac=array[1..200]of char;
 
label 1,2;
VAR
K,I,J,N,C:BYTE;
A:LONGINT;
B1,b:mas;
h:mac;
BEGIN
clrscr;
writeln('vvedite cictemu');readln(c);
writeln('chislo :=>  ');
read(a);
repeat
inc(i);
b[i]:=a mod c;
a:=a div c;
until (a=1)  or (a=0);
{----------------------------------}
for J:=1 to I do
begin{1}
if (c>10) AND (c<=16) then     begin INC(k);
if b[J]=10 then h[J]:='a';
if b[J]=11 then h[J]:='b';
if b[J]=12 then h[J]:='c';
if b[J]=13 then h[J]:='d';
if b[J]=14 then h[J]:='e';
if b[J]=15 then h[J]:='f';
end
end;
{---------------------------------}
writeln('----');
if a=0 then
           begin
           for j:=i downto 1 do
           IF b[j]>9 then
            begin
            goto 1;
            write(b[j]);
            1: WRITE(H[J])
            end
           else begin write(b[j]); write(h[j]);end;
           end
else begin
     write(a);
     for j:=i downto 1 do
     if b[j]>9 then
     begin
     goto 2;
     write(b[j]);
     2:WRITE(H[J])
     end
     else begin write(b[j]); write(h[j]);end;
     end;
writeln;
readln;readln;
END.
Добавлено через 8 минут
ну у меня есть одно идея вот токо голова не варит как как сделать (с математикой плохо)...
взять все число в тип string после это число как-то разбить на десятки ,сотни, единици попереводить каждый разряд а после сложить все ответы в одну кучу но с не в тупую а с умом ...))

Добавлено через 3 минуты
если у кого в это сторону извилины движутся то помогите ,бо мои уже розплылись
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.03.2010, 21:23
Ответы с готовыми решениями:

Длинная арифметика: перевод чисел в разные системы счисления
Здравствуйте, есть такая задача.. Препод по алгоритмам задал сделать программу для перевода чисел в разные системы счислений. Это...

Длинная арифметика. Перевод из десятичной системы счисления в двоичную
требуется написать программу для перевода числа с количеством цифр &gt;20 из десятичной системы счисления в двоичную на языке С++

Перевод чисел В Другие системы счисления
Перевести число, записанное в системе счисления с основанием p в число, за-писанное в системе счисления с основанием q. При этом...

2
 Аватар для STGE
773 / 578 / 324
Регистрация: 17.06.2009
Сообщений: 1,188
18.03.2010, 21:40
У меня тут есть кое-что (модуль для перевода между с/с):
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
Unit math;
Interface
Function stepint (a: longint; n: shortint): longint;  {Возведение числа в степень}
Procedure des (a: word; b:byte; var s: string);  {Перевод из 10-ой с/с в [2..9]-ую}
Procedure segdes(p: integer; k: byte; var g: integer);  {Перевод из [2..9]-ой в 10-ую}
Procedure hex (a: word; b:byte; var s: string);  {Перевод из 10-ой в [11..16]-ую}
Implementation
Uses crt;
Function stepint(a: longint; n: shortint): longint;
begin
If n=0 then stepint:=1
else if n=1 then stepint:=a
else if (n>1) then
begin
if a>0 then stepint:=a * stepint(a,n-1)
else
begin
If n mod 2 = 0 then stepint:=a * stepint(a,n-1)
else stepint:=a * stepint(-a,n-1);
end;
end;
end;
Procedure des (a: word; b:byte; var s: string);
Var k,i: byte; l,m,j: string; n: char;
begin
s:=''; j:='';
If a>=b then
Repeat
k:=a mod b;
Str(k,l);
s:=s+l;
a:=a div b;
Until a<b;
Str(a,m);
s:=s+m;
For i:=length(s) downto 1 do
j:=j+s[i];
s:=j;
end;
Var q: integer; t: byte; o: integer;
Procedure segdes(p: integer; k: byte; var g: integer);
Var i,b,v: byte; n,c: integer; s: string;
begin
v:=0; n:=0;
Str(p,s);
For i:=length(s) downto 1 do
begin
Val(s[i],b,c);
n:=n+b*stepint(k,v);
v:=v+1;
end;
g:=n;
end;
Procedure hex (a: word; b:byte; var s: string);
Var q,p: string; k: integer; i: byte;
begin
s:='';
If a>=b then
begin
q:='';
Repeat
k:=a mod b;
Str(k,p);
Case k of
10: p:='A';
11: p:='B';
12: p:='C';
13: p:='D';
14: p:='E';
15: p:='F';
end;
q:=q+p;
a:=a div b;
Until a<b;
Str(a,p);
q:=q+p;
For i:=length(q) downto 1 do
s:=s+q[i];
end;
end;
end.
Попробуйте. Может быть поможет.
0
10 / 10 / 5
Регистрация: 30.11.2009
Сообщений: 119
18.03.2010, 22:11  [ТС]
а у меня вопрос ,он переведет число 1*10^50 ?

если да то как вы этого добились

Добавлено через 23 минуты
ну вообщем как я и ожидал этот модуль тоже не подходит он не может принить такое число
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.03.2010, 22:11
Помогаю со студенческими работами здесь

Длинная арифметика и системы счисления
Нужно написать программу, которая переводила бы с двоичной (вводимое число до 100 знаков) в другую систему счисления (4-19). Хотел...

Организовать перевод чисел из 10 системы счисления в другие
Прилагаю исходник программы (то что сделано). Не знаю только как организовать перевод чисел в эти СС. Выполнение арифметических...

Перевод натуральных чисел из одной системы счисления в другие
Дано натуральное число Z (Z&gt;65536) представленное в 10-тичной системе счисления и натуральное число K (1&lt;K&lt;10). Нужно вывести число Z...

Перевод целых чисел из десятичной системы счисления в другие
вот зробив алгоритм переведення з 10-вої в n систему числення, але біда в тому шо незнаю як написати код на С++, знайшов шось в інеті і...

Длинная арифметика: перевод чисел из десятичного в двоичный формат
Всем привет!) Начал я сегодня баловаться длинной арифметикой) всё вроде хорошо получилось) но мне захотелось длинные числа перевести из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru