Перевод из десятеричной в шестнадцатеричную
Категория: Delphi/Pascal
2012-10-16 15:47:29
Самый логичный способ заключается в том, чтобы исходное число (например 95) делить на основание той системы, в которую надо перевести (например, в 16-ричную). Из остатков формируется конецное число с конца.
95 / 16 = 5 (остаток 15, т.е. F) --> F 5 уже не делим, ибо оно меньше чем 16. --> 5F Получается примерно так:code: #delphi
n10 := 95; base := 16; result := ''; while n10>=base do begin m := n10 mod base; case m of 0..9: result := Chr(Ord('0')+m) + result; 10..15: result := Chr(Ord('A')+m-10) + result; end; n10 := n10 div base; end; if n10>0 then begin case n10 of 0..9: result := Chr(Ord('0')+n10) + result; 10..15: result := Chr(Ord('A')+n10-10) + result; end; end;
автор: Vovan-VE
Поделиться: