Hallo, ich versuche hier gerade einen C Code zu verstehen. Eine Variable v wird als int deklariert und bekommmt den Wert dezimal 0 zugewiesen. In einer Funktion wird dann später nächste Variable = (v<<8) festgelegt. Bedeutet died, dass nächste Variable nun den Wert 256 hat ? Was würde denn aus nächster Variable in der Funktion werden, wenn v zuvor einen Wert von 64 hätte ? Auch wieder 256 ? Danke
tom schrieb: > Bedeutet died, dass nächste Variable nun den Wert 256 hat ? Nein, 0. tom schrieb: > Was würde denn aus nächster Variable in der Funktion werden, wenn v > zuvor einen Wert von 64 hätte ? 16384
hm, ne Null kann man schieben, so oft man Lust hat - bleibt dennoch immer 0.
@ tom (Gast) >Eine Variable v wird als int deklariert und bekommmt den Wert dezimal 0 >zugewiesen. >In einer Funktion wird dann später >nächste Variable = (v<<8) >festgelegt. >Bedeutet died, dass nächste Variable nun den Wert 256 hat ? Wie soll das gehen? Wenn man 00000000 achtmal links schiebt ist es immer noch Null. >Was würde denn aus nächster Variable in der Funktion werden, wenn v >zuvor einen Wert von 64 hätte ? Auch wieder 256 ? Lies mal was zum Thema Arithmetik von Binärzahlen. Was pssiert, wenn man bei einer Dezimalzahl im normalen Leben das Komma um eine Stelle nach rechts schiebt? MfG Falk
tom schrieb: > Eine Variable v wird als int deklariert und bekommmt den Wert dezimal 0 > zugewiesen. > > In einer Funktion wird dann später > > nächste Variable = (v<<8) > > festgelegt. > > Bedeutet died, dass nächste Variable nun den Wert 256 hat ? Nein. Eine 0 kannst Du schieben, bis Du alt wirst. Es bleibt 0. Ham wer schon en der Schull in der Kaygass Nummer 0 jelernt... Jruß.. ähem Gruß, Frank
Ok. Eine Null zu schieben ... habe ich begriffen. Leider hilft mir das beim Code nun auch nicht weiter :-( aus 64 --> 0b0100 0000 wird 16384 --> 0b0100 0000 0000 0000 ?
tom schrieb: > Ok. Eine Null zu schieben ... habe ich begriffen. Leider hilft mir das > beim Code nun auch nicht weiter :-( > > aus 64 --> 0b0100 0000 wird > 16384 --> 0b0100 0000 0000 0000 ? Wenn Du eine Zahl 1mal nach links schiebst, dann entspricht dies einer Multiplikation mit 2. Wenn Du sie 8mal schiebst, dann entspricht dies einer Multiplikation mit 2*2*2*2*2*2*2*2 = 256. 256 x 64 = 16384. Dein Schaubild mit den binären Nullen ist korrekt.
Rene Schube schrieb: > Ein schickes Tool um soetwas 'per Hand' nach zu rechnen ist BinCalc. Per Hand und rechnen lassen durch einen besseren Taschenrechner widerprechen sich irgendwie. Das einzig sinnvolle, um sowas per Hand zu machen, ist Stift und Papier, wenn man es im Kopf nicht kann. Dann versteht man auch, was man tut.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.