Thread ~- anstatt --
(10 answers)
Opened by leo11 at 2009-11-30 16:30
Erstmal vielen Dank.
Ein paar Nachfragen noch: Code: (dl
)
1 $ perl -wle '$y=5; printf "%32b\n%32b\n", -$y, ~-$y;' Ich verstehe, dass binär 100 dezimal 4 ist und die erste Zahl dezimal -5. Außerdem kann ich eure Ausführungen über die 2 Arten der Interpretation, wie sie LanX in seinen beiden Spalten S und U darstellt nachvollziehen. Hab trotzdem noch nicht das Gefühl das wirklich zu durchschauen. Daher möcht ich nochmal nachfragen ob folgendes richtig ist: Kann man sagen, dass beide Zeilen in Zweierkomplementdartsellung sind, wobei erstere ganz links mit -2 hoch 32 beginnt und die zweite eine positive Zahl ist, da ganz links eigentlich eine 0 steht? Ist es außerdem richtig, dass ~ zwar eine bitweise Negation ist, aber kein Operator der für eine Wandlung in die Zweierkomplementdartsellung sorgt? In der perlop steht: Code: (dl
)
Unary "~" performs bitwise negation, i.e., 1's complement. For example, 0666 & ~027 is 0640. Wie kommt man hier auf die 0640? Außerdem sind doch im Dualsystem nur 1 und 0 erlaubt. Bedeutet 1's complement, das der operator ein Zweierkomlement in ein Einerkomplement wandelt? 2009-11-30T16:55:27 MatthiasW Aber print --$y ergibt hier auch 4. (-; Quote Das hat der Autor in seinem Blog auch geschrieben. |