Wie ein Computer Zahlen darstellt ist mir schon klar, nämlich mit 1 und 0, wie kann er aber damit rechnen, also wie wird das +,-,* und das geteilt Zeichen dargestellt und wie weiß der Computer (oder auch Taschenrechner) wie damit umzugehen ist?
MFG
Allgemeines 21.915 Themen, 147.228 Beiträge
okay, dann mal zum shiften:
eigentlich könnte men mit dualzahlen genauso multiplizieren wie mit dezimalzahlen, hier ein kleines beispiel:
..1011*1010.............11*10
..---------...........--------
.......0000(1011*0).........0(11*0)
......1011.(1011*1).......11.(11*1)
.....0000..(1011*0)
....1011...(1011*1)
..---------..........--------
....1101110(=110).........110
das sieht jetzt bei den binärwerten etwas seltsam aus, da ich oben vergessen hatte zu erwähnen, dass 1+1=10 laut definition ist, ich habe also einen übertrag wie beim dezimalen rechnen, wenn ich 1 und 1 addiere.
da man ja aber bemüht ist speicher zu sparen wurde das shiften"erfunden". eigentlich ändert sich bei der multiplikation ja nur etwas, wenn ich beim multiplikator an einer stelle bin, die eine 1 enthält, somit kann ich die 0-multiplikation überspringen und einfach das ergebnis der 1-multiplikation "shiften", also nach entsprechend vielen stellen nach links verschieben:
..1011*1010..............1011*1010
..---------..............---------
.......0000.(0)
......1011..(1)...=>.........10110.(1 mal nach links geshiftet)
.....0000...(2)
....1011....(3)...=>.......1011000.(3 mal nach links geshiftet)
..---------..............---------
..1101110..................1101110
ps: übrigens, wen es wundert, daß das ergebnis nur 7 statt 8 bit hat, ich war zu faul die führende 0 hin zu schreiben.
pps: sorry wegen der punkte, aber <pre> zur formatierung is leider nicht.