Problem

Find from a binary code, e.g. 127 the code as single decimal additors and as binary number.

Solution

Put in the given number, e.g. as paramter in field "wert".

In 2D-window you will find the following result:

127

1, 2, 4, 8, 16, 32, 64

1111111

 

the first line is the given number (e.g. a masking value)

the second line gives back the single additors

the third line gives back the binary code 0 or 1

Script

First you need 2 new parameters:

"wert" as integer

and "art" as string

 

!2D-Script

 

DIM xi[],xe[] ,fak[], str_i[]

xi[1]=wert
n=1

        REPEAT
       
        n=n+1
       
        xi[n] = xi[n-1]/2
        xe[n] = FRA(xi[n])
        xi[n] = INT(xi[n])
       
        IF xe[n]#0 THEN fak[n]=1
         
!        TEXT2 0,n,xi[n]
!        TEXT2 1,n+0.5,fak[n]
       
        UNTIL xi[n]<1

zahl=""

FOR i=2 TO n

zahl=zahl+STR(xe[i],1,0)

NEXT i

    TEXT2 0,1,wert
    TEXT2 0,-1,zahl

anzahl = STRLEN(zahl)

dert=""
zu=1

FOR i=1 TO anzahl
    str_i[i]=STRSUB(zahl,i,1)

    IF str_i[i]="1" THEN
        IF i<anzahl THEN dert=dert+str(zu,1,0)+", "
        IF i=anzahl THEN dert=dert+str(zu,1,0)
    ENDIF
    IF art="Reihenfolge" THEN zu=zu+1
    IF art="Werte" THEN zu=zu*2
NEXT i

TEXT2 0,0,dert

 

!Parameter-Script

 

VALUES "art" "Reihenfolge","Werte"
 

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies.
Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu.
Weitere Informationen zu Cookies erhalten Sie in unserer Datenschutzerklärung