|
#1
|
|||
|
|||
Help!!!
Проблема такова: Требуется получить двоичный код десятичного числа!
Может быть имется встроенная функция для данной операции. своя функция получается довольно громоздкой!!! функция HexToBin преобразует строковые данные готвого двоичного числа!! |
#2
|
||||
|
||||
:(
Если впаривает - я вечером на тему отвечу.. была у мя где-то такая ф-я но я ща не дома, а за надёжность того что я могу написпть- я не отвечаю....
чуто сто см. http://www.delphiworld.narod.ru жди ответ .. Нет повести печальнее на свете, чем повесть о заклиневшем Resete. |
#3
|
||||
|
||||
Вот, нашел несколько вариантов функции, которая переводит десятичное число в двоичный код. Выбирай любой. Первый аргумент - десятичное число, второй - количество знаков, которое будет в двоичном коде после преобразования.
Код:
// Первый вариант функции IntToBin function IntToBin( Value: integer; Digits: integer ): string; var i: integer; begin Result := ''; for i := 0 to Digits-1 do begin if Value and ( 1 shl i ) > 0 then Result := '1' + Result else Result := '0' + Result; end; end; // Второй вариант функции IntToBin function IntToBin( Value: integer; Digits: integer ): string; var i: integer; begin Result := ''; for i := 0 to Digits-1 do Result := IntToStr( ( Value and ( 1 shl i ) shr i ) ) + Result; end; // Третий вариант функции IntToBin function IntToBin( Value: integer; Digits: integer ): string; var i: integer; begin Result := ''; for i := 0 to Digits-1 do Result := IntToStr( ( Value shr i ) and 1 ) + Result; end; Вызывать функцию можно так: Код:
procedure TForm1.Button1Click(Sender: TObject); const n = 140; // Десятичное число, которое нужно преобразовать var i, k: integer; begin k := 1; for i := 1 to n do begin k := k * 2; if k > n then Break; end; Caption := IntToBin( n, i ); end; Последний раз редактировалось Decoding, 01.07.2006 в 20:31. |
#4
|
||||
|
||||
:)
Комментарии излишни...
Нет повести печальнее на свете, чем повесть о заклиневшем Resete. |