Ich kann hier keine Null bilden aus der Bytefolge...soll ..

Für allgemeine Fragen zur Programmierung mit PureBasic.
funkheld
Beiträge: 647
Registriert: 31.12.2009 11:58

Re: Ich kann hier keine Null bilden aus der Bytefolge...soll

Beitrag von funkheld »

Jup, danke.

Funktioniert alles prima.

Gruss
hyperG
Beiträge: 23
Registriert: 28.06.2014 10:43

Re: Ich kann hier keine Null bilden aus der Bytefolge...soll

Beitrag von hyperG »

Wenn man schon Bytes und eine 64Bit CPU hat, kann man das sehr schnell mit einer halbfertigen Spiegelung erreichen (ohne langsame Stringbefehle):

Code: Alles auswählen

OpenConsole()
Define g_qbyte.q=$00F32424E32424F3  ; die 64 Bit Zahl
Define  i, Zeichen$, bits$
g_qbyte.q = ((g_qbyte.q >> 1) & $55555555555555) | ((g_qbyte.q << 1) & $aaaaaaaaaaaaaa);Spiegeln!!
g_qbyte.q = ((g_qbyte.q >> 2) & $33333333333333) | ((g_qbyte.q << 2) & $cccccccccccccc);
Zeichen$=RSet(Bin(g_qbyte.q ),64,"0")
bits$ = ReplaceString(Zeichen$, "0", " ")    ; Nullen mit einem Schlag ersetzen
bits$ = ReplaceString(bits$, "1", "#");PrintN(Zeichen$)
For i = 0 To 7
   PrintN(Mid(bits$,i*8+1,8))         ; For nur noch zum anzeigen
Next i
Input()
Antworten