011
23.03.2004, 12:56 Uhr
Pablo
Supertux (Operator)
|
Zitat: |
Cebinem postete Also ich hab das leider nicht so richtig verstanden. Warum im Dezimalsystem mit 10 oder war das nur ein Beispiel? Ich hab nicht ganz so viel Ahnung mit dem Binärsystem und es wäre schön, wenn du mir mal ein Beispiel mit den "Zahlenverschiebungen" im Dezimal- bzw. Binärsystem geben könntest.
Nochmal zurück zum Funktionsaufruf, kannst du mir bitte die folgende Frage beantworten:
Ist Eingabe = Verdopplung(Eingabe); ein Funktionsaufruf der Funktion int Verdopplung(int Eingabe)?
DANKE für eure Hilfe!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
MFG Cebinem
|
Der Grund warum das Binärsystem heisst, ist weil man nur 2 Ziffern hat, mit denen man die Zahlen darstellen kann, nämlich 0 und 1. Diese Zahl, die bestimmt wie viele Ziffern die Zahen dartsellen, heisst die Basis. Das Binärsystem hat Basis 2. Das Dezimalsystem dagegen 10, also 0,1,2,3,4...9.
Wie erzeugt man die Zahlen? Ist ganz einfach. Man nimmt immer eine Ziffer von unten nach oben, und wenn alle gewählt sind, nimmt man 2, usw. Z.b. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,..., 20, 21, 22, ... Sieht du die Kombinationen? Als ersten kommt die 0, 00+0, dann 0 und die 1, also 01=1, dann 0 und die 2, usw. Wenn wir an der 09 angelangt sind, haben wie keine Ziffer mehr, dann müssen wir eine hochzählen. Dann kommt die 1 und die 0 (also 10), dann die 1 und die 1, dann die 1 und die 2, usw. Man wartet 10 Mal, bis die Zahl ganz links um eins zunimmt. Wenn man an der Zahl 12 eine 0 rechts hinzufügt, dann kriegt man die 120. Also 12*10, in anderen Worten 12*Basis
Beim Binärsystem ist genau dasselbe. Die Zahlen sind 0, 1, 01, 10, 11, .... Da die Basis des Binärsystem 2 ist, gilt wenn ich eine 0 ganz rechts hinzufüge, dann wird der Wert mal die Basis multipliziert, also verdoppelt.
11 ist 3 im Zähnersystem. 110 ist 6. Siehst du, es ist genau das gleiche.
Bearbeitung: |
Intern wird diese 6 als Binärzahl gespeichert, also 0000.....110.
bedeutet, weise in x den Wert von x<<1 zu. x<<1 heisst, füge ganz rechts eine 0 hinzu. Also wird in x 00000...1100 gespeichert. Deshalb wir d x verdoppelt.
bedeutet, füge x Nullen ganz rechts an a hinzu.
|
-- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! Dieser Post wurde am 23.03.2004 um 13:03 Uhr von Pablo editiert. |