Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Bits aus bitstream zaehlen (https://www.delphipraxis.net/38070-bits-aus-bitstream-zaehlen.html)

Diablo9876 14. Jan 2005 11:15


Bits aus bitstream zaehlen
 
Erstmal hallo an alle.
Ich habe folgendes Problem ich habe eine Reihe von Chars of bytes (unsigned char's).
Zum Beispiel abcdef, bitweise sieht das so aus 00101101 11000111 01010111 101000011 011001111.
Jetzt moechte ich zaehlen wieviel Bits zwischen position X und Y in diesem Bitstream liegen.
Kann mir da vielleicht jemand helfen?

Gruss Diablo9876

Sharky 14. Jan 2005 11:25

Re: Bits aus bitstream zaehlen
 
Zitat:

Zitat von Diablo9876
...Jetzt moechte ich zaehlen wieviel Bits zwischen position X und Y in diesem Bitstream liegen...

Hmm... die Anzahl der Bits ist doch gleich der Differenz zwichen Y und X.

Diablo9876 14. Jan 2005 11:30

Re: Bits aus bitstream zaehlen
 
Hi Sharky erstmal danke fuer deine Reaktion, aber wie krieg ich das hin Differenz zwichen Y und X?
Ein kleiner Ansatzcode waehre nicht schlecht.

Danke.

Sharky 14. Jan 2005 11:33

Re: Bits aus bitstream zaehlen
 
Ich glaube ich verstehe dich nicht so richtig ;-)
Code:
00101101 11000111 01010111 101000011 011001111
  X                   Y
Ich habe es so verstanden das Du jetzt wissen möchtest wieviele Bits es zwichen X und Y gibt? Und das wäre doch Y-X-1.

Diablo9876 14. Jan 2005 11:38

Re: Bits aus bitstream zaehlen
 
Also mein Gedanke war es um ein Zaehler von X bis Y laufen zu lassen der die Bits zaehlt die auf 1 stehen.
Wenn Y-X dan COUNT ist.. oder lieg ich da falsch ?

idontwantaname 14. Jan 2005 11:41

Re: Bits aus bitstream zaehlen
 
willst du alle zählen, oder nur die 1er ??

Diablo9876 14. Jan 2005 11:48

Re: Bits aus bitstream zaehlen
 
Hi, also nur die auf 1 stehen wil ich zaehlen.

Diablo9876 14. Jan 2005 12:38

Re: Bits aus bitstream zaehlen
 
Ich glaub ich habs.

Delphi-Quellcode:
function CountBits (CONST setvar; size: Integer): Integer;
// Array of Bitsets:
type TBitArray = array [0..31] of TByteBits;

var bits: TBitArray absolute setvar;
    i, c: Integer;
    b: Bits;
begin
 c:= 0; // start value voor number of bits
 // Anzahl der bytes zaehlen
 for i:= 0 to size - 1 do begin
  // Zaehl fuer jeden Byte die Anzahl Bits
  for b:= Bit0 to Bit7 do begin
   if b in bits[i] then Inc (c);
  end;
 end;
 Result:= c;
end;

shmia 14. Jan 2005 12:40

Re: Bits aus bitstream zaehlen
 
Zitat:

Zitat von Diablo9876
Ich glaub ich habs.

Dann schau mal in die Code-Library; ich speziell für Dich eine schnellere & elegantere Lösung. :drunken:

Diablo9876 14. Jan 2005 12:43

Re: Bits aus bitstream zaehlen
 
Hi shmia, kannst mir den direkten Link vom Artikel geben finde es nicht so schnell in der Code Library.
Recht vielen Dank.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:47 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz