![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Dec->Bin->Hex, Hex->Bin->Dec [D5, Win95/98]
Dmitriy_R © (2002-10-21 10:18:00)Народ подскажите как перевести десятичное число в бинарное и в шестнадцатеричное, и как все тоже обратно. Да и вот еще как к примеру число 640 разложить на два шестнадцатеричных числа, тоесть 02h, 80h.
REA (2002-10-21 10:43:00) [1]Можно еще наверно в TBits загнать - там по индексу должен быть доступ к битам.
Внук (2002-10-21 10:33:00) [2]В качестве шутки:
function ToBin(a:longword):string;
var i:longword;
f:Boolean;
begin
Result:="";
i:=1;
while i<>0 do
begin
f:=not ((i and a) = 0);
Result:=IntToStr(Integer(f))+Result;
i:=i shl 1;
end;
end;
И еще IntToHex :)
Smithson (2002-10-21 10:28:00) [3]Как разложить - любое число в IBM PC представлено БАЙТАМи. СледовательноЮ достаточно написать функцию подобной трансляции БАЙТа, а далее более длинные числа раскладывать на них.
Функция преобразования - ну например:
[code]
function ByteToHex(B: Byte): String; // Извини, не придумал, как
еще можно представить
const PP: Array[0..15] of Char = ("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F");
Begin
Result := PP[(B shr 4)]+PP[B and $0F];
End;
[/code]
В двоичный код переводить сложнееЮ сейчас нет времени городить, подумай сам.