Español
Fuente/ Codesnippets

Bitfelder

 

Michael
W.
In XProfan puede ser auch con Bitfeldern trabajo.

El einfachsten Operationen son hier:
KompilierenMarcaSeparación
Declare DasBitfeld&[250000]' 8.000.000 Bits

Proc Bitfield.Get

    Parameters BF&[], ix&
    Return if(TestBit( BF&[ix& \ 32], ix& mod 32) <> 0, 1, 0)

EndProc

Proc Bitfield.GetInv'liefert das invertierte Bit, ohne etwas zu ändern

    Parameters BF&[], ix&
    Return if(TestBit( BF&[ix& \ 32], ix& mod 32) <> 0, 0, 1)

EndProc

Proc Bitfield.Set'kann Bit setzen (=1) oder löschen (=0)

    Parameters BF&[], ix&, BitWert%
    BF&[ ix& \ 32] = SetBit( BF&[ix& \ 32], ix& mod 32, BitWert% )
    Return Bitfield.Get( BF&[], ix& )

EndProc

Proc Bitfield.Toggle

    Parameters BF&[], ix&
    '--- 'folgender 2-Zeiler ist kürzer, aber Index wird 3x neu errechnet
    'na gut, ist jetzt ein 1-Zeiler mit 2 Berechnungen
    '--- Return Bitfield.Set(BF&[],ix&,Bitfield.GetInv(BF&[],ix&))
    Declare AI&, BI%, NewBit%
    AI& = ix& \ 32' Array-Index
    BI% = ix& mod 32' Bit-Index
    NewBit% = if(TestBit(BF&[AI&],BI%)<>0,0,1)
    BF&[AI&] = SetBit(BF&[AI&],BI&,NewBit%)
    Return NewBit%

ENDPROC


Lo puede aber auch mehrere Bits con AND/O/XOR bearbeitet voluntad oder todo Bitstreams (braucht uno z.B. en Verschlüsselungen oder Komprimierern).
 
System: Windows 8/10, XProfan X4
Programmieren, das spannendste Detektivspiel der Welt.
20.01.2015  
 



Also en lugar de:

if(TestBit(BF&[AI&],BI%)<>0,0,1)


kannst Usted doch simplemente:

TestBit(BF&[AI&],BI%)=0


escribir usw. oder en lugar de:

if(TestBit( BF&[ix& \ 32], ix& mod 32) <> 0, 1, 0)


simplemente:

TestBit( BF&[ix& \ 32], ix& mod 32)<>0
 
20.01.2015  
 




Michael
W.
Sí, wenn's doch en el Ayuda eindeutiger gestanden hätte.

En TestBit(x,1,1) hätte Yo 2 esperado
en TestBit(x,2,1) hätte Yo 4 esperado usw
porque el son tan el wirklichen Bitwerte.

Jetzt weiß Yo por ausprobieren...
 
XProfan X3
System: Windows 8/10, XProfan X4
Programmieren, das spannendste Detektivspiel der Welt.
20.01.2015  
 



Nein, en el vorgeschlagenen Los cambios juega lo ningún papel qué en el Ayuda es.
 
21.01.2015  
 




Michael
W.
Sí, hast Recht. Den Test igual como Ergebnislieferant nutzen. Dies es pero no así eindeutig para todos erkennbar. Und lo debería sí como kleine Principiante-Starthilfe dienen...
 
XProfan X3
System: Windows 8/10, XProfan X4
Programmieren, das spannendste Detektivspiel der Welt.
21.01.2015  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

7.488 Views

Untitledvor 0 min.
p.specht20.11.2021
Uwe Lang20.11.2021
Manfred Barei19.11.2021
Wilfried Friebe17.11.2021
Más...

Themeninformationen

Dieses Thema ha 2 subscriber:

Michael W. (3x)
iF (2x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie