-8 / 0 / 0
Регистрация: 23.01.2011
Сообщений: 52
1

Перевод целых двоичных чисел

08.02.2011, 00:26. Показов 1036. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Перевод целых двоичных чисел в десятичные, затем в шестнадцатеричные, затем обратно в двоичные.
Программа работает частично, не работает для отрицательных чисел, и если ввожу с точкой (0.01101100) тоже ругаеться, еще там с тетрадами неправильно( нада чтобы цикл проверял значения с конца строки а не с начала, чтобы программа работала ). Тому кто разберёться буду очень признателен!


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
uses crt;
const zn:string[16]='0123456789ABCDEF'; {цифры в СС 16}
var i,j,sum,sum2,l:integer;
s2,s16:string;
k:byte;
procedure prov(var q:integer; w:string);
begin
if (w[1]='-') then
begin
q:=1;
delete(w,1,1);
end;
end;
begin
clrscr;
l:=0;
sum:=0;
repeat
k:=0;
write('Введите число в СС 2 s2=');
Readln(s2);
prov(l,s2);
{перевод из 2 в 10}
for i:=1 to length(s2) do
if not(s2[i] in ['0','1'])then k:=1;
if k=1 then writeln('Это не число в СС 2, повторите ввод.');
until k=0;
for i:=length(s2)-1 downto 1 do
begin
if s2[i]='1' then
begin
sum2:=1;
for j:=1 to length(s2)-i do sum2:=sum2*2;
end
else sum2:=0;
sum:=sum+sum2;
end;
If s2[Length(s2)]='1' Then Inc(sum);
writeln('Число в СС 10 =',sum);
{перевод из 10 в 16}
s16:='';
while sum>0 do
begin
s16:=zn[sum mod 16+1]+s16;
sum:=sum div 16;
end;
writeln('Число в СС 16=',s16);
{перевод из 16 в 2 тетрадами}
s2:='';
for i:=1 to length(s16) do
case s16[i] of
'0': s2:= s2 + '0000';
'1': s2:= s2 + '0001';
'2': s2:= s2 + '0010';
'3': s2:= s2 + '0011';
'4': s2:= s2 + '0100';
'5': s2:= s2 + '0101';
'6': s2:= s2 + '0110';
'7': s2:= s2 + '0111';
'8': s2:= s2 + '1000';
'9': s2:= s2 + '1001';
'A': s2:= s2 + '1010';
'B': s2:= s2 + '1011';
'C': s2:= s2 + '1100';
'D': s2:= s2 + '1101';
'E': s2:= s2 + '1110';
'F': s2:= s2 + '1111';
end;
if s2[1]='0' then {если в начале ноли, удалим их}
while s2[1]='0' do delete(s2,1,1);
if (l=0) then writeln('Число в СС 2=',s2)
else writeln('Число в СС 2=-',s2);
readln;
end.
Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.02.2011, 00:26
Ответы с готовыми решениями:

Перевод целых и дробных двоичных чисел в 16-ричные
Помогите пожалуйста. Надо написать программу: перевод целых и дробных 2-х чисел в 16-ю с/с -> 10...

Перевод двоичных чисел
Написать программу которая осуществляет перевод целых 2-ых чисел в 10 > 16 > 2 Заранее спасибо!

Алгебраическое сложение целых положительных и отрицательных двоичных чисел в обратном коде
Алгебраическое сложение целых положительных и отрицательных двоичных чисел в обратном коде.

Перевод целых 10-х чисел в 2-ю -> 8 с.с ->10 с.с
Перевод целых 10-х чисел в 2-ю -> 8 с.с ->10 с.с

2
2857 / 1986 / 788
Регистрация: 23.09.2010
Сообщений: 4,877
08.02.2011, 07:39 2
Перевод целых двоичных чисел в десятичные,
А ты целые от дробных отличаешь?
и если ввожу с точкой (0.01101100)
ты и должен повторить ввод при вводе такого числа
0
-8 / 0 / 0
Регистрация: 23.01.2011
Сообщений: 52
08.02.2011, 09:11  [ТС] 3
1.
или
0.
указывает на то, отрицательное число или положительное!
0
08.02.2011, 09:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.02.2011, 09:11
Помогаю со студенческими работами здесь

Перевод в системах счисления целых чисел
Перевод целых 16-х чисел в 10-ю -> в 2 с.с. -> в 4 с.с.

Из множества целых чисел 1..100 выделить множество чисел, являющихся, в свою очередь, квадратами целых чисел.
помогите, я в множествах не силен Из множества целых чисел 1..100 выделить множество чисел,...

Перевод целых неотрицательных чисел из системы счисления M в систему счисления N, где 2 <= M, N <= 16
Перевод целых неотрицательных чисел из системы счисления M в систему счисления N, где 2 &lt;= M, N &lt;=...

Перевод целых неотрицательных чисел из системы счисления M в систему счисления N, где 2 <= M, N <= 16
Перевод целых неотрицательных чисел из системы счисления M в систему счисления N, где 2 &lt;= M, N &lt;=...

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

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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