Форум: "Основная";
Текущий архив: 2003.05.29;
Скачать: [xml.tar.bz2];
ВнизКак перевести 10тиричное в 16ричное число... Найти похожие ветки
← →
Vulko (2003-05-16 07:49) [0]Как перевести 10тиричное в 16ричное число.
Или если кто знает как открыть выбор цвета (как в паинте например).
← →
MBo (2003-05-16 08:53) [1]строковое шестнадцатиричное представление чисел - IntToHex
TColordialog
← →
vital (2003-05-16 15:59) [2]Это не та рубрика, зайди в другую
← →
k-man (2003-05-16 17:29) [3]Пусть пишет мы всегда поможем!
← →
K.o.Z (2003-05-16 22:13) [4]дели число на значение системы нацело, анализируй остаток и записывай всё это дело в обратном виде...
ниже приведена реализация , НО достаточно убогая, т.к. писалось очень давно ...
made by Vady
PROGRAM Dec2;
USES
Crt;
VAR
chislo, count_system: longint;
function Dec2Bin(number: longint): String;
const
system = 2;
var
ost: longint;
reserv, res: string;
begin
res:= ""; reserv:= "";
while (number >= system) do
begin
ost:= number mod system;
str(ost, reserv);
res:= Concat(reserv, res);
number:= number div system;
end;
Str(number, reserv);
res:= Concat(reserv, res);
Dec2Bin:= res;
end;
function Dec2Oct(number: longint): String;
const
system = 8;
var
ost: longint;
reserv, res: string;
begin
res:= ""; reserv:= "";
while (number >= system) do
begin
ost:= number mod system;
str(ost, reserv);
res:= Concat(reserv, res);
number:= number div system;
end;
Str(number, reserv);
res:= Concat(reserv, res);
Dec2Oct:= res;
end;
function Dec2Hex(number: longint): String;
const
system = 16;
var
ost: longint;
reserv, res: string;
begin
res:= ""; reserv:= "";
while (number >= system) do
begin
ost:= number mod system;
if (ost < 10) then Str(ost, reserv) else
case ost of
10: reserv:= "A";
11: reserv:= "B";
12: reserv:= "C";
13: reserv:= "D";
14: reserv:= "E";
15: reserv:= "F";
end;
res:= Concat(reserv, res);
number:= number div system;
end;
if number < 10 then Str(number, reserv) else
case number of
10: reserv:= "A";
11: reserv:= "B";
12: reserv:= "C";
13: reserv:= "D";
14: reserv:= "E";
15: reserv:= "F";
end;
res:= Concat(reserv, res);
Dec2Hex:= res;
end;
BEGIN
TextBackGround(Black);
TextColor(Green);
ClrScr;
WriteLn("Enter number: "); Readln(chislo);
WriteLn("Enter count system: "); Readln(count_system);
case count_system of
2: WriteLn(Dec2Bin(chislo));
8: WriteLn(Dec2Oct(chislo));
16: WriteLn(Dec2Hex(chislo));
end;
ReadLn;
END.
← →
default (2003-05-16 22:18) [5]function IntToHex(Int: LongWord): String;
const
MasDig = "0123456789ABCDEF";
var
i, NextHexDigit: Byte;
Priem: LongWord;
begin
if Int = 0 then begin Result := "0"; Exit; end;
for i := 1 to 8 do
begin
asm
mov Priem,0
mov ecx,Int
shld Priem,ecx,4
shl Int,4
mov al,byte ptr Priem
mov NextHexDigit,al
end;
Result := Result + MasDig[NextHexDigit + 1];
end;
while Result[1] = "0" do Delete(Result, 1, 1);
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.05.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c