Avatar billede ulricho Novice
22. oktober 2009 - 21:05 Der er 5 kommentarer og
1 løsning

Hvad betyder ((123456789 >> (45678)) >> 1) $& 1 i XAL?

IF ((123456789 >> (45678)) >> 1) $& 1 THEN
  pause
ENDIF
Avatar billede Slettet bruger
22. oktober 2009 - 21:19 #1
>> betyder bit-shift-right
$& betyder bit-and
Avatar billede Slettet bruger
22. oktober 2009 - 21:23 #2
a >> 1 = a*2
a >> 2 = a*4
a >> 3 = a*8

Hvis a $& 1 = 1 er første bit = 1 d.v.s. tallet er ulige.
Avatar billede Slettet bruger
22. oktober 2009 - 21:26 #3
og det var selvfølgelig forkert.

Skulle være:

a >> 2 = a / 4
a << 2 = a * 4
Avatar billede ulricho Novice
23. oktober 2009 - 07:19 #4
Jeg er ikke helt med. Hvad mening giver det at skrive det på den måde inde i et XAL-script?

Kunne du ikke prøve at beskrive med ord, hvad der præcist står i mit eksempel:

((123456789 >> (45678)) >> 1) $& 1

Jeg har omskrevet et eksempel fra #SearchPriceDisc, hvor der står noget tilsvarende.
Avatar billede Slettet bruger
24. oktober 2009 - 20:14 #5
Hvis jeg læser koden rigtigt, så tjeker den linie i #SearchPriceDisc om den kombination af pris/rabat den er nået til at aktiv.

Om en kombination er aktiv er gemt som bit i en variabel. Koden du har fundet aflæser om en given bit er sat eller ej.
Avatar billede ulricho Novice
27. oktober 2009 - 07:28 #6
Nu er jeg med:

hvis første bit er sand, så har den a >> 1 en værdi på 2^1 = 2
hvis anden bit er sand, så har den a >> 2 en værdi på 2^2 = 4
hvis tredje bit er sand, så har den a >> 3 en værdi på 2^3 = 8

hvis anden bit derimod er falsk, har den en værdi på 1^2 = 1

Mange tak for det!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester