excel hex to dec



Автор D_-A-_Y задал вопрос в разделе Другие языки и технологии

Нужна помощь в делфи. Dec to hex и получил лучший ответ

Ответ от Cheery[гуру]
Зачем алгоритм?
begin
// Display 1234 decimal in hex with minimal width
ShowMessage('1234 decimal = '+IntToHex(1234, 1));
// Display 1234 decimal in hex with fixed width
ShowMessage('1234 decimal = '+IntToHex(1234, 8));
end;
ну или
program dec2hex;
{$APPTYPE CONSOLE}
uses
SysUtils;
const
BASE16 = 16;
var
HexValue : string;
Remainder : Integer;
Quotient : Integer;
begin
HexValue := '';
write( 'Enter an integer value: ' );
readln( Quotient );
while Quotient > 0 do
begin
Remainder := Quotient mod BASE16;
case Remainder of
10: HexValue := 'A' + HexValue;
11: HexValue := 'B' + HexValue;
12: HexValue := 'C' + HexValue;
13: HexValue := 'D' + HexValue;
14: HexValue := 'E' + HexValue;
15: HexValue := 'F' + HexValue;
else
HexValue := IntToStr( Remainder ) + HexValue;
end;
Quotient := Quotient div BASE16
end;
writeln;
writeln( HexValue );
writeln;
end.
ps: если словесное описание "на пальцах", то
1) Делим десятичное число А на 16. Частное Q запоминаем для следующего шага, а остаток a записываем как младший бит шестнадцатеричного числа.
2) Если частное q не равно 0, принимаем его за новое делимое и повторяем процедуру, описанную в шаге 1. Каждый новый остаток записывается в разряды шестнадцатеричного числа в направлении от младшего бита к старшему.
3) Алгоритм продолжается до тех пор, пока в результате выполнения шагов 1 и 2 не получится частное Q = 0 и остаток a меньше 16.
Источник:
Cheery
Высший разум
(199137)
а что нужно?? вы сами просили алгоритм..

Ответ от Ўран[гуру]
Любой букварь по программированию открой и на первых страницах найдешь тему по системам счисления! Вообщем учи матчасть! Или просто поюзай API wsprintf (за продробностями - на мсдн)

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Нужна помощь в делфи. Dec to hex
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*