0 / 0 / 0
Регистрация: 14.03.2010
Сообщений: 6
1

перевод десятичных чисел в шестнадцатеричную систему

15.03.2010, 16:58. Показов 4190. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
админ помоги ещё пожалусто подкоректировать на шестнадцатеричную систему опять же но только для перевода десятичных чисел:
вот исходник:
Delphi
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
var
N, M: single;
Bin: string;
procedure TForm1.Button1Click(Sender: TObject);
begin
N := StrToFloat(Edit1.Text);
Label1.Caption := '0.';
Bin := ' ';
while N>0 Do
begin
M:=N*2;
N := Frac(M);
Bin := Bin + FloatToStr(Int(M));
end;
Label1.Caption := Label1.Caption + Bin;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
N := StrToFloat(Edit1.Text);
Label2.Caption := '0.';
Bin := ' ';
while N>0 Do
begin
M:=N*8;
N := Frac(M);
Bin := Bin + FloatToStr(Int(M));
end;
Label2.Caption := Label2.Caption + Bin;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
N := StrToFloat(Edit1.Text);
Label3.Caption := '0.';
Bin := ' ';
while N>0 Do
begin
M:=N*16;
N := Frac(M);
Bin := Bin + FloatToStr(Int(M));
end;
Label3.Caption := Label3.Caption + Bin;
end;
результат сбрось пожалуста на почту mangust12@bk.ru
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.03.2010, 16:58
Ответы с готовыми решениями:

Перевод из десятичной в шестнадцатеричную систему счисления
Нашел в инете задачку const CHex : Array of String = ( '0','1','2','3', ...

Перевод десятичного числа в шестнадцатеричную систему счисления, и обратно
Цикл с пред условием: Написать программу для перевода десятичного числа в шестнадцатеричную...

Процедуры. Выполнить перевод десятичных чисел в двоичную систему счисления
СПАСИТЕ!!! Выполнить программу, использующую подпрограмму - процедуру. Выполнить перевод...

Перевод в шестнадцатеричную систему
Такая проблема: ввожу в поле edit число, преобразую его в шестнадцатеричный вид и вывожу его в...

1
Junior Developer
44 / 44 / 7
Регистрация: 08.06.2009
Сообщений: 261
15.03.2010, 22:33 2
Юрий barabas,

Delphi
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
function BIN2HEX(BIN: string): string;
 
  function SetHex(St: string; var Error: BOOLEAN): CHAR;
 
  var
    Ch: CHAR;
 
  begin
    if St = '0000' then
      Ch := '0'
    else if St = '0001' then
      Ch := '1'
    else if St = '0010' then
      Ch := '2'
    else if St = '0011' then
      Ch := '3'
    else if St = '0100' then
      Ch := '4'
    else if St = '0101' then
      Ch := '5'
    else if St = '0110' then
      Ch := '6'
    else if St = '0111' then
      Ch := '7'
    else if St = '1000' then
      Ch := '8'
    else if St = '1001' then
      Ch := '9'
    else if St = '1010' then
      Ch := 'A'
    else if St = '1011' then
      Ch := 'B'
    else if St = '1100' then
      Ch := 'C'
    else if St = '1101' then
      Ch := 'D'
    else if St = '1110' then
      Ch := 'E'
    else if St = '1111' then
      Ch := 'F'
    else
      Error := True;
    SetHex := Ch;
  end;
 
var
  HEX: string;
  I: INTEGER;
  Temp: string[4];
  Error: BOOLEAN;
 
begin
  Error := False;
  if BIN = '0' then
    HEX := '0'
  else
  begin
    Temp := '';
    HEX := '';
    if Length(BIN) mod 4 <> 0 then
      repeat
        BIN := '0' + BIN;
      until Length(BIN) mod 4 = 0;
    for I := 1 to Length(BIN) do
    begin
      Temp := Temp + BIN[I];
      if Length(Temp) = 4 then
      begin
        HEX := HEX + SetHex(Temp, Error);
        Temp := '';
      end;
    end;
  end;
  if Error then
    BIN2HEX := '0'
  else
    BIN2HEX := HEX;
end;
Delphi
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
function HEX2BIN(HEX: string): string;
 
var
  BIN: string;
  I: INTEGER;
  Error: BOOLEAN;
 
begin
  Error := False;
  BIN := '';
  for I := 1 to Length(HEX) do
    case UpCase(HEX[I]) of
      '0': BIN := BIN + '0000';
      '1': BIN := BIN + '0001';
      '2': BIN := BIN + '0010';
      '3': BIN := BIN + '0011';
      '4': BIN := BIN + '0100';
      '5': BIN := BIN + '0101';
      '6': BIN := BIN + '0110';
      '7': BIN := BIN + '0111';
      '8': BIN := BIN + '1000';
      '9': BIN := BIN + '1001';
      'A': BIN := BIN + '1010';
      'B': BIN := BIN + '1011';
      'C': BIN := BIN + '1100';
      'D': BIN := BIN + '1101';
      'E': BIN := BIN + '1110';
      'F': BIN := BIN + '1111';
    else
      Error := True;
    end;
  if Error then
    HEX2BIN := '0'
  else
    HEX2BIN := BIN;
end;
и потом просто вызываешь на кнопочку например так

Delphi
1
2
3
4
procedure TForm1.Button1.Click;
begin
Edit2.text:= HEX2BIN(edit1.text);
end;
edit2.text - выводим результат
edit1.text - что преобразовываем...
0
15.03.2010, 22:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.03.2010, 22:33
Помогаю со студенческими работами здесь

Перевод в шестнадцатеричную систему
Требуется перевести число типа int в шестнадцатиричную систему (из десятичной) ...

Перевод int в шестнадцатеричную систему
Собственно нужна функция перевода... Находил примеры со string, а вот с int беда....

Перевод числа в шестнадцатеричную систему счисления
Дано целое число в двоичной системе счисления, т.е. последовательность цифр 0 и 1. Составить...

Перевод целого числа в шестнадцатеричную систему
Здравствуйте! Помогите пожалуйста написать задачу на С++ Написать функцию перевода целого...

Перевод числа от 0 до 31 в шестнадцатеричную систему счисления
Перевести число 0 ≤ х ≤ 31 в шестнадцатеричную систему счисления.

Перевод числа из десятичной в шестнадцатеричную систему
Добрый день, проблема в том, что не могу понять как перевести число в шестнадцатеричную систему. ...


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

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

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