![]() |
Integer in Bits
Moin leute !
Wie kann ich einen Integer in seine Bits zerlegen? also das aus 11 z.b. 1 1 0 1 0 0 0 0 wird (oder so). die function könnte ungefähr so aussehen :
Delphi-Quellcode:
Hoffe jemand hat nen Plan wie! (und wie's ander's rum geht)
Type Tboolarray = record
bits : array of bool; end; function inttobit(int : integer) : Tboolarray; begin ??? ??? //wie's weiter geht weiß ich nicht ! ??? end; |
|
Ahh !
Ich glaub ich brauch dringend den experten ! |
Hallo,
anbei mal ein Beispiel, wie es gehen könnte.
Delphi-Quellcode:
bye
function IntToBin(Value: Cardinal): string;
var I: Integer; begin SetLength(Result, 32); // oder auch kürzer for I := 1 to 32 do begin if ((Value shl (I-1)) shr 31) = 0 then begin Result[I] := '0' end else begin Result[I] := '1'; end; end; end; |
Moin Daniel,
die Umkehrung der Funktion in dem von Dir genannten Thread müsste hier zur Anwendung kommen:
Delphi-Quellcode:
function IntToBin(const AiValue : integer) : string;
const _aBinDigits : array [Boolean] of char = ('0','1'); var iPowerOfTwo : integer; i : integer; begin Result := StringOfChar(#32,32); iPowerOfTwo := 1; for i := 32 downto 1 do begin Result[i] := _aBinDigits[(AiValue and iPowerOfTwo) <> 0]; iPowerOfTwo := iPowerOfTwo shl 1; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz