Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Rätselecke » was macht diese funktion ???

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ] [ 3 ]
000
10.07.2004, 15:50 Uhr
9ball



was macht diese funktion?

C++:
int guess_what (unsigned char x)
{
    return 1 & (((x ^ x >> 1) ^ (x ^ x >> 1) >> 2) ^ ((x ^ x >> 1) ^ (x ^ x >> 1) >> 2) >> 4);
}


kriegt ihr's raus?
--
one for all and all for one

Dieser Post wurde am 10.07.2004 um 15:51 Uhr von 9ball editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
10.07.2004, 16:07 Uhr
Pablo
Supertux
(Operator)


Das sieht nicht nach einem Rätsel -->
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
10.07.2004, 16:08 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



Code:
01101001
10010110
10010110
01101001
10010110
01101001
01101001
10010110
10010110
01101001
01101001
10010110
01101001
10010110
10010110
01101001
10010110
01101001
01101001
10010110
01101001
10010110
10010110
01101001
01101001
10010110
10010110
01101001
10010110
01101001
01101001
10010110



das
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
10.07.2004, 16:11 Uhr
Pablo
Supertux
(Operator)


return 1 & (((x ^ x >> 1) ^ (x ^ x >> 1) >> 2) ^ ((x ^ x >> 1) ^ (x ^ x >> 1) >> 2) >> 4) äquivalent zu
return 1 & (((0) ^ (0) >> 2) ^ ((0) ^ (0) >> 2) >> 4) äquivalent zu
return 1 & ((0 >> 2) ^ (0 >> 2) >> 4) äquivalent zu
return 1 & ((0) ^ (0) >> 4) äquivalent zu
return 1 & (0 >> 4) äquivalent zu
return 1 & 0 äquivalent zu
return 0
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 10.07.2004 um 16:13 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
10.07.2004, 16:12 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


ich würd mal sagen sowas...

C++:
int guess_what(unsigned char x){
int rv,i;    
    for(rv=0,i=9;--i;rv+=(x>>(i-1))&1);
return rv&1;
}


--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
10.07.2004, 16:15 Uhr
Pablo
Supertux
(Operator)


Nein, ich hab mich wohl geiirt
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
10.07.2004, 16:16 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

Nein, ich hab mich wohl geiirt


dein kleines fehlerchen dem ich auch beinahe aufgessesen wäre war das >> stärker bindet als ^
--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 10.07.2004 um 16:28 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
10.07.2004, 16:25 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


hab noch was verbessert


C++:
int guess_what (unsigned char x){
int rv,i;    
    for(rv=0,i=9;--i;rv^=x>>(i-1));
return rv&1;
}


oder

C++:
int guess_what (unsigned char x){return x?x&1^guess_what(x>>1):0;}


--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
10.07.2004, 16:26 Uhr
Pablo
Supertux
(Operator)



Zitat von Windalf:

Zitat:

Nein, ich hab mich wohl geiirt


dein kleines fehlerchen dem ich auch beiner aufgessesen wäre war das >> stärker bindet als ^

ja, da hast du recht. Das war mein Fehler.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
10.07.2004, 17:52 Uhr
9ball




Zitat von Windalf:


C++:
int guess_what1 (unsigned char x){
int rv,i;    
    for(rv=0,i=9;--i;rv^=x>>(i-1));
return rv&1;
}

int guess_what2 (unsigned char x){return x?x&1^guess_what2(x>>1):0;}




ok, du hast die funktionalität perfekt nachgebildet.
das original sah übrigens mal so aus:

C++:
int guess_what (unsigned char x)
{
    unsigned char a = x ^ x >> 1;
    unsigned char b = a ^ a >> 2;
    return 1 & (b ^ b >> 4);
}


aber das ist keine reine scherzfrage - die funktion kann man tatsächlich gebrauchen, aber wofür??? wer weiss das?


Bearbeitung von typecast:
cpp-Tags korrigiert

--
one for all and all for one

Dieser Post wurde am 12.07.2004 um 08:22 Uhr von typecast editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ] [ 3 ]     [ Rätselecke ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: