1. bit kippen
-
rüdiger schrieb:
3. pale dog - 10 frickel Punkte
wär das besser gewesen?
x ^= ~((unsigned int)-1>>1)
-
pale dog schrieb:
rüdiger schrieb:
3. pale dog - 10 frickel Punkte
wär das besser gewesen?
x ^= ~((unsigned int)-1>>1)
disqualifiziert, da undefined behaviour :p
-
rüdiger schrieb:
3. pale dog - 10 frickel Punkte
pale dog hat heute einen schlechten Tag ?
Normalerweise kennt man ihn ja als den 1A Shifting-Guru
-
proggingmania schrieb:
pale dog hat heute einen schlechten Tag ?
every dog has its day, aber heute ist meiner wohl nicht
-
pale dog schrieb:
every dog has its day, aber heute ist meiner wohl nicht
Najanun, das liegt nun einmal in der Natur des Menschen.
Jeder hat mal ein Tief.
Das wird schon wieder
Und ausserdem, wenn bei hunderten von guten Beiträgen mal einer in die Hose geht, was solls.
Das kann man doch als vernachlässigbar kleine Fehlerrate ansehen.
-
proggingmania schrieb:
Und ausserdem, wenn bei hunderten von guten Beiträgen mal einer in die Hose geht, was solls.
danke, aber das ist wirklich zuviel der ehre, dass du meine postings für so gelungen hältst.
ich wette, die meisten hier sehen das anders...
-
@pale dog: Bist immer noch ein Code- Gott...
-
BorisDieKlinge schrieb:
@pale dog: Bist immer noch ein Code- Gott...
noch so ein tierfreund
ok, ich schlage vor, ihr macht einen fanclub auf
(dann müsst ihr aber C++ abschwören und über alles lästern, was damit zusammenhängt)
-
ich hab auch eins:
x^=~INT_MAX;
-
camper schrieb:
ich hab auch eins:
x^=~INT_MAX;
das kippt das erste bit von 32, aber nicht das erste relevante von x.
-
thordk schrieb:
camper schrieb:
ich hab auch eins:
x^=~INT_MAX;
das kippt das erste bit von 32, aber nicht das erste relevante von x.
wie auch alle anderen vorgestellten Varianten.
x^=INT_MAX-INT_MAX/2;
wenn es unbedingt richtig sein muss.
-
camper schrieb:
x^=INT_MAX-INT_MAX/2;
wenn es unbedingt richtig sein muss.
das toggled ein bit weiter rechts, entspricht etwa ~(unsigned)INT_MAX>>1
geht also auch nicht bei z.b. char...
-
thordk schrieb:
camper schrieb:
ich hab auch eins:
x^=~INT_MAX;
das kippt das erste bit von 32, aber nicht das erste relevante von x.
Da könnt man sich jetzt fragen, was unter 'bit kippen' zu verstehen ist.
Bei dieser Version:
x^=~INT_MAX;
wird denke ich mal das MSB von x invertiert, alle übrigen Bits behalten ihren Wert.
-
thordk schrieb:
camper schrieb:
ich hab auch eins:
x^=~INT_MAX;
das kippt das erste bit von 32, aber nicht das erste relevante von x.
Diese Aussage ist irrelevant.
Es gibt keine relevanten Bits.
-
camper schrieb:
x^=INT_MAX-INT_MAX/2;
wenn es unbedingt richtig sein muss.
Das war richtig, jetzt ist es falsch.
-
Hier mal eine native Version:
x ^= ((unsigned int) ~0) >> 1 ^ ~0;
-
Sagt mal, frickelt ihr so lange an den Shiftings rum, bis es funktioniert, oder wie bekommt ihr das sonst hin? @pale dog: Kannst du mir mal dein Geheimrezept dazu verraten?
-
mikey schrieb:
Sagt mal, frickelt ihr so lange an den Shiftings rum, bis es funktioniert, oder wie bekommt ihr das sonst hin?
Ich... *drumrolls* ... denke!!!
-
-
Du bist doch so fit im shiften, erklär mir das mal.