Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/32: Рейтинг темы: голосов - 32, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 21.04.2010
Сообщений: 4
1

Перевод числа из 10сс в 2сс,8сс и 16сс с заданием числа вещественного типа

21.04.2010, 22:46. Показов 6597. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здраствуйте. Помогите с решением задачи. Задание: перевести число из десятичной системы счисления в двоичную, восьмиричную и шестнадцатиричную с.с. Число которое я задаю должно быть вещественного типа т.е. с дробной частью например 123,4. У меня получился перевод в целой части, а вот с дробной проблема. Меня интересует, как реализовать дробную часть к моей программе, чтоб на ввод числа я ввел к примеру 123.4, а потом получил результаты в 2сс, 8сс и 16сс и чтоб у них тоже была дробная часть. Спасибо
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
uses crt;
var a:array[1..20] of longint;
i,k,l,g:longint;
q:integer;
n:real;
m:integer;
str1:string;
begin
clrscr;
writeln ('vvedite chislo dlya perevoda- ');
readln(n);
 
m:=n-trunc(n);
for i:=1 to 4 do
if trunc(m*2)>1  then
str1:=str1+'1';
m:=m*2-1;
if trunc(m*2)<1  then
else str1:=str1+'0';
m:=m*2;
 
 
 
 
 
l:=0;
g:=n;
while g>0 do
begin
l:=l+1;
a[l]:=g mod 2;
g:=g div 2;
end;
writeln('2ss zapis dannogo chisla: ');
for k:=l downto 1 do write(a[k]);
write (',',str1);
writeln;
 
 
begin
{writeln ('vvedite chislo dlya perevoda- ');
readln(n);}
l:=0;
g:=n;
while g>0 do
begin
l:=l+1;
a[l]:=g mod 8;
g:=g div 8;
end;
writeln('8ss zapis dannogo chisla: ');
for k:=l downto 1 do write(a[k]);
end;
writeln;
 
begin
{writeln ('vvedite chislo dlya perevoda- ');
readln(n);]}
l:=0;
g:=n;
while g>0 do
begin
l:=l+1;
a[l]:=g mod 16;
g:=g div 16;
end;
writeln('16ss zapis dannogo chisla: ');
for k:=l downto 1 do
case a[k] of
 10 :write('A');
 11 :write('B');
 12 :write('C');
 13 :write('D');
 14 :write('E');
 15 :write('F');
 Else
write(a[k])
end;
end;
readln;
end.
Вложения
Тип файла: doc perevod.doc (24.0 Кб, 57 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.04.2010, 22:46
Ответы с готовыми решениями:

Перевод чисел с 2 СС в в 10СС, 8СС, 16СС
Здраствуйте всем! Помогите пожалуйста! Мне нужна ваша помощь, нужно Листинг программы для...

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

Перевод из 8СС в 10СС
Помогите пожалуйста решить: Сложить программу , которая переводит восьмерочное число А в...

Перевод 8сс в 10сс
Здравствуйте, извините может тема уже рассматривалась раньше но в поиске не нашел подходящего...

3
0 / 0 / 0
Регистрация: 21.04.2010
Сообщений: 4
22.04.2010, 00:28  [ТС] 2
помогите кто-нибудь доделать программу! Целую часть считает, а как с дробную часть добавить?
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
uses crt;
var a:array[1..20] of longint;
n,k,l,g:longint;
begin
clrscr;
writeln ('vvedite chislo dlya perevoda- ');
readln(n);
l:=0;
g:=n;
while g>0 do
begin
l:=l+1;
a[l]:=g mod 2;
g:=g div 2;
end;
writeln('2ss zapis dannogo chisla: ');
for k:=l downto 1 do write(a[k]);
writeln;
 
 
begin
l:=0;
g:=n;
while g>0 do
begin
l:=l+1;
a[l]:=g mod 8;
g:=g div 8;
end;
writeln('8ss zapis dannogo chisla: ');
for k:=l downto 1 do write(a[k]);
end;
writeln;
 
begin
{writeln ('vvedite chislo dlya perevoda- ');
readln(n);]}
l:=0;
g:=n;
while g>0 do
begin
l:=l+1;
a[l]:=g mod 16;
g:=g div 16;
end;
writeln('16ss zapis dannogo chisla: ');
for k:=l downto 1 do
case a[k] of
 10 :write('A');
 11 :write('B');
 12 :write('C');
 13 :write('D');
 14 :write('E');
 15 :write('F');
 Else
write(a[k])
end;
end;
readln;
end.
вот эта часть которая считает цельную часть, как и что добавить чтоб считал число с дробной частью?
0
0 / 0 / 0
Регистрация: 21.04.2010
Сообщений: 4
23.04.2010, 21:32  [ТС] 3
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
uses crt;
var a:real;     {vvodimoe chislo obchee}
q:real;
str1:string;
i: integer;
begin
clrscr;
write('Vvedite drobnoe chislo=');
readln(a);
 
q:=frac(a);
begin
for i:=1 to 4 do
begin
q:=q*2;
if (q*2)=1.0 then
begin
writeln(q:4:2);
write(a:4:2);
write (',',str1);
end;
 
if (q*2)<>1 then
begin
if (q*2)>1 then
begin
str1:=str1 + '1';
q:=q*2-1;
end
 
else
str1:=str1 + '0';
end;
 
writeln(q:4:2);
write(a:4:2);
write (',',str1);
end;
end;
end.
Миниатюры
Перевод числа из 10сс в 2сс,8сс и 16сс с заданием числа вещественного типа  
0
0 / 0 / 0
Регистрация: 21.04.2010
Сообщений: 4
23.04.2010, 23:31  [ТС] 4
все заработало здесь

Добавлено через 1 час 49 минут
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
uses crt;
var a:real;     {vvodimoe chislo obchee}
q:real;
str1:string;
i: integer;
begin
clrscr;
write('Vvedite drobnoe chislo=');
readln(a);
 
q:=frac(a);
begin
for i:=1 to 4 do
begin
q:=q*2;
if q=1 then
begin
writeln(q:4:2);
write(a:4:2);
write (',',str1,'1');
break
end;
 
if q<>1 then
 
begin
if q>1 then
begin
str1:=str1 + '1';
q:=q-1;
end
 
else
str1:=str1 + '0';
end;
 
writeln(q:4:2);
write(a:4:2);
write (',',str1);
end;
end;
end.
0
23.04.2010, 23:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.04.2010, 23:31
Помогаю со студенческими работами здесь

перевод из 10сс в 16сс
Всем привет!) Подкиньте пожалуйста прогу перевода из 10сс в 16сс, где функция находит в строке...

Перевод из 16СС в 10СС
Доброго времени суток! Использую такую функцию перевода: Function TForm1.Hex2Dec(shex:...

Перевод из 10СС в 2,8,16СС.
Не знаю как написать программу на языке си по переводу любого вводимого целого числа в 10...

Перевод из 2СС в 10СС
Написать функцию перевода числа из 2СС в 10СС.


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru