Hexwert umdrehen und zurückgeben
-
Headhunter_X schrieb:
Jedoch weiss ich einfach nicht, wie ich diesen unsigned int nun sozusagen byteweise ablaufe.
mach einfach für jedes byte: b = int_wert & 0xff; int_wertwert >>= 8;
-
Ey Fricky, er soll doch zeigern ...
char *p, *q; int i; p = (char*) &wert; q = (char*) &ziel + 3; for ( i=0; i<4; i++, p++, q--){ *q = *p; }
-
Danke für die Antworten, ich werde das jetzt mal mit euren Vorschlägen probieren.
-
Scheppertreiber schrieb:
Ey Fricky, er soll doch zeigern ...
ach, ich war mal wieder zu blind.
-
Ach was. Wir hätten ihm ja auch strrev() unterschieben können - noch lustiger
(bis auf die $00 klappt das auch ganz passabel).
-
Scheppertreiber schrieb:
Ach was. Wir hätten ihm ja auch strrev() unterschieben können - noch lustiger
ja, ganz gemein. das ist nämlich ne PHP-funktion.
-
Mein Watcom-C kann das auch.
PHP = BäHahaBä ...
-
Etwa so:
unsigned int umdrehen(unsigned int wert) { unsigned int iReturn = 0, iMaterIn = 1, iMaterOut = LONG_MAX + 1; for (int iLoop = 0; iLoop < 32; iLoop++) { if ((iMaterIn & wert) == 1) iReturn += iMaterOut; iMaterIn *= 2; iMaterOut /= 2; } return iReturn; }
-
Hast Recht, Hartmut. Da hatte ich wohl das OP nicht genau genug gelesen. Sorry.
int i, wert, neu; char *p, *q; wert = 0xccbb3344; for ( p=(char*)&wert, q=(char*)&neu, i=0; i<4; i++,p++,q++){ *q = *p ^ -1; }
(ich habe das sogar ausprobiert. Man könnte das auch noch mehr zusamenknäulen
-
[edit]
mist[/edit]