|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.01.2008, 09:36 | #1 |
Регистрация: 21.01.2008
Сообщений: 8
|
Подскажите почему не работает программа???
(*
Function Dec2Hex (num: Word): String; { перевод из 10-ичной в 16-ичную } Function Dec2Bin (num: word): String; { перевод из 10-ичной в 2-ичную } Function Hex2Dec (hs:string): longint; { перевод из 16-ичной в 10-ичную } Function Bin2Dec (S: String): longint; { перевод из 2-ичной в 10-ичную } *) Function Dec2Hex (num: Word): String; var result: string; remainder: word; c: char; begin result := ''; while num <> 0 do begin remainder := num mod 16; num := num div 16; { или num := num shr 4 } if remainder < 10 then c := chr (remainder + ord ('0')) else c := chr (remainder + ord ('A') - 10); result := c + result; end; Dec2Hex := '$' + result end; Function Dec2Bin (num: word): String; var result: string; remainder: word; c: char; begin result := ''; while num <> 0 do begin remainder := num mod 2; num := num div 2; { или num := num shr 1 } c := chr (remainder + ord ('0')); result := c + result; end; Dec2Bin := result end; Function Hex2Dec (hs:string): longint; var res,k: longint; r,i: word; c: char; begin res := 0; k := 1; for i := length (hs) downto 1 do begin c := UpCase (hs[i]); case c of 'A'..'F': r := ord(c) - (ord('A') - 10); { ord (c) - 55 } '0'..'9': r := ord(c) - ord('0'); { ord (c) - 48 } else break end; inc (res, r * k); { res := res + r * k} k := k * 16; { или k := k shl 4 } end; Hex2Dec := res; end; Function Bin2Dec (S: String): longint; var i, bit: word; p, result: longint; Begin result := 0; p := 1; for i := length (S) downto 1 do begin bit := ord (S[i]) - ord ('0'); inc (result, bit * p); p := p * 2; { или p := p shl 1 } end; Bin2dec:=result; End; begin writeln (dec2bin (2004)); writeln (dec2hex (2004)); writeln (hex2dec ('fff0')); writeln (bin2dec ('11111010100')) end.
Кто не рискуе - того не ложат в гроб из красного дерева
|
25.01.2008, 09:59 | #2 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Цитата:
А из строки в которой 2-ичное число записано мона получитб десятичное так: Код:
I'm learning to live...
Последний раз редактировалось Stilet; 25.01.2008 в 10:12. |
||
25.01.2008, 10:15 | #3 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
result убери из объявления переменных
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подскажите где ошибки? Не работает программа на Паскале | ЯншинаВера | Помощь студентам | 1 | 21.05.2008 19:47 |
Почему моя программа РАБОТАЕТ!!! | aesoem | Общие вопросы Delphi | 3 | 09.05.2008 23:50 |
Почему не работает код? | Kashp | Общие вопросы Delphi | 3 | 09.08.2007 17:33 |