Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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]

В двоичный код переводить сложнееЮ сейчас нет времени городить, подумай сам.


Наверх

Титульная страница Поиск, карта сайта Написать письмо