| und & Operator
-
;fricky schrieb:
102d + b79 = 1ba3
^^welche basis hab' ich verwendet? tip: hex ist es nicht. *fg*
Gar keine? Wenn d = 13 ist, kann die Endziffer des Ergebnisses nicht 3 sein. (Denkfehler bei mir?)
-
Gut dann haben wir doch schoneinmal eine Sache abgehackt
Aber dieses >> oder <<, wie geht das damit?
c) 0x01 << 4 = (b)1 << 4 = (b)10000 = 0x10
h) 0x01 >> 4 = (b)1 >> 4 = (b)00001 = ??? Wie soll das denn gehen?
-
juniorcrew schrieb:
h) 0x01 >> 4 = (b)1 >> 4 = (b)00001 = ??? Wie soll das denn gehen?
Das wird einfach 0.
-
TyRoXx schrieb:
;fricky schrieb:
102d + b79 = 1ba3
^^welche basis hab' ich verwendet? tip: hex ist es nicht. *fg*
Gar keine? Wenn d = 13 ist, kann die Endziffer des Ergebnisses nicht 3 sein. (Denkfehler bei mir?)
ja und nein, d=13 ist richtig, d.h. die basis ist mindestens 14. die endziffer des ergebnisses ist natürlich davon abhängig, wann es 'nen übertrag gibt.
juniorcrew schrieb:
c) 0x01 << 4 = (b)1 << 4 = (b)10000 = 0x10
vier mal shiften:
0x01 << 1 = 0x02 0x02 << 1 = 0x04 0x04 << 1 = 0x08 0x08 << 1 = 0x10
^^ passt also, würde ich mal sagen.
-
Ja aber wieso wid das denn einfach 0? Das WARUM juckt mich ja
-
juniorcrew schrieb:
Ja aber wieso wid das denn einfach 0? Das WARUM juckt mich ja
rechts von bit 0 ist halt nix mehr. in assembler würde die 1 ins carry-flag wandern (hallo pointercrash *fg*), aber in C verschwindet sie einfach:
int a = 0x01; // 1 int b = a >> 1; // 0 int c = a >> 2; // 0 int d = a >> 3; // 0 ... // egal wie oft du auch rechts-shiftest, weg ist weg
-
;fricky schrieb:
TyRoXx schrieb:
;fricky schrieb:
102d + b79 = 1ba3
^^welche basis hab' ich verwendet? tip: hex ist es nicht. *fg*
Gar keine? Wenn d = 13 ist, kann die Endziffer des Ergebnisses nicht 3 sein. (Denkfehler bei mir?)
ja und nein, d=13 ist richtig, d.h. die basis ist mindestens 14. die endziffer des ergebnisses ist natürlich davon abhängig, wann es 'nen übertrag gibt.
Ach natürlich. Dann ist die Basis 19.
(1 >> 4) ist 0, weil das Bit rechts rausgeschoben wird.
-
TyRoXx schrieb:
Ach natürlich. Dann ist die Basis 19.
^^ we have a winner!
-
juniorcrew schrieb:
Ja aber wieso wid das denn einfach 0? Das WARUM juckt mich ja
Was ist 1/2? Und was passiert wenn du das Ergebnis einem int zuweisen würdest?
Einfach ausgedrückt (es gibt da Sonderfälle die wir später betrachten können) ist
x = a >> b
äquivalent zu
x = a / 2[h]b[/h]
Ebenso ist auch
x = a << b
äquivalent zu
x = a * 2[h]b[/h]
-
@Fricky: Wir sind einer Meinung, daß die Fälle klar waren, weil "ich 'sehe' hexzahlen als bitmuster (pro ziffer vier bits)". Du hast doch sofort gesehen, daß die Aufgaben genau auf diese Deine Fähigkeit abgesteckt waren. Ich habe ja auch gesagt, daß Du die alle im Kopf kannst. Damit habe ich Deine Aussage über den Mann, der hex im Kopf verknüpfen kann, abgeschwächt. Vorwiegend darum ging es mir. Viele der weiteren vorstellbaren nichttrivialen Aufgaben kannst Du auch und die Bitmuster 0-A wirste auch im Kopf haben, damit geht schon einiges. Und der ganze Rest geht auch im Kopf, dauert nur länger. Und das ist keine Abwertung. Damit bist Du weit vorne. Leider braucht keiner mehr diese Fähigkeit, aber das ist eine andere Geschichte.
-
Tim schrieb:
Was ist 1/2? Und was passiert wenn du das Ergebnis einem int zuweisen würdest?
das müßte das gleiche sein wie
float x = floor(1/2);
lg lolo
-
noobLolo schrieb:
Tim schrieb:
Was ist 1/2? Und was passiert wenn du das Ergebnis einem int zuweisen würdest?
das müßte das gleiche sein wie
float x = floor(1/2);
^^ lustiger thread, so kommt man von bitgefummel zu fliesskommazeugs *fg*
-
Alles habe ich verstanden
Dankeschön!
Gruß juniorcrew