View Full Version : [Frage] Addieren und Umwandlung?
CowboyAl
10-05-2004, 15:50
Naja, das wär doch nicht so schwer, aber
1. Man soll die Zahl umwandeln, so dass beide den selben Exponenten haben. Wie mach ich das?
zBsp bei:
A = 0100111101001010
B = 0101111100000010
der grössere Exponent is B, der hat nämlich 7
also 10111
A hat 3, also 10011
aber wie wandle ich denn A jetzt um?
edit: kann mir keiner helfen?
derbrain
10-05-2004, 17:10
geh von den zahlen an sich aus, nicht von der darstellung samt vorzeichen und exponent mit exzess. dahinter schreib ich immer den exponenten in der form 2^exp, nur der übersicht halber. das wär bei deinem beispiel
A = 1101001010 * 2^3
B = 1100000010 * 2^7
so, A hat also den kleineren exponenten -> soll also auf exponent 7 erweitert werden. dazu muss A um 7-3=4 stellen nach rechts verschoben werden.
A = 0000110100(1010)
die letzten stellen hab ich in klammer gesetzt, weil die zahl dann zu lang wäre. beim rechnen/runden muss man sie aber berücksichtigen!
wenn du dir nicht mehr sicher bist: denk an dezimalzahlen. du willst z.b. 15 * 10^-3 auf exponent 10^0 bringen, also in ganz normaler darstellung. dazu schiebst du einfach entsprechend viele kommastellen (hier: 3) ein, dann kriegst du 0.015
CowboyAl
10-05-2004, 17:57
mhm, danke, das hab ich jetzt verstanden.
A = 1101001010
B = 1100000010
und dann:
0000110100(1010)
+1100000010
-------------------
oder wie? wie zähl ich das dann zusammen? :confused:
derbrain
10-05-2004, 18:05
ähm, ja, ich geh das auch grad durch http://hades.gothic.at/iforum/images/smilies/shinner.gif
also, die kleinere zahl (die dann geshiftet wird) soll immer unten stehn. dann addierst du (achtung auf vorzeichen!!!). g, r und s nimmst du mit, trennst es aber am besten mit einem strich ab. und dann rundest halt. steht übrigens im buch ab seite 136.
CowboyAl
10-05-2004, 18:11
jo nur von dem was im Buch steht hab ich null tau. ;)
naja, mal sehn, vielleicht find ich irgendwo im internet was, aber danke für die Antwort.
das kann dir vielleicht auch helfen (ich nehme an dass du es im thread "1.beispiel" nicht gesehen hast, oder hast du schon?)
http://mitaub.sourceforge.net/tst/h...op=getit&lid=49
CowboyAl
10-05-2004, 19:05
Doch, die Erklärung hab ich schon, werd aber daraus nicht wirklich schlauer. Ich weiss noch immer nicht wie ich den Exponenten angleiche. Zwar leutet mir das was derbrain sagt ein, aber dann komm ich nicht weiter. :(
denn bei meinem Beispiel:
A = 1101001010
B = 1100000010
dann:
B = 1100000010
A = 00001101001010
dann ist 101 zum Schluss das GRS oder?
ja genau! den letzten null kannst du wegschmeissen.
crocodil
10-05-2004, 19:21
Doch, die Erklärung hab ich schon, werd aber daraus nicht wirklich schlauer. Ich weiss noch immer nicht wie ich den Exponenten angleiche. Zwar leutet mir das was derbrain sagt ein, aber dann komm ich nicht weiter. :(
denn bei meinem Beispiel:
A = 1101001010
B = 1100000010
dann:
B = 1100000010
A = 00001101001010
dann ist 101 zum Schluss das GRS oder?
ja ja nur pass beim S auf, denn das is ja nur ein Bit dass 1 wird und bleibt sobalds einen 1 schluckt!
Ex-angleich brauchst nur bei führenden 0 oder overflow NACH addieren-subtrahieren ansonsten is das ergebnis IMMER der Ex der betragsmässig grösseren Zahl
CowboyAl
10-05-2004, 19:24
Super, danke, also :thumb: :thumb:
B = 1100000010
A = 0000110100101
+ ---------------------
1100110110101
stimmt?
und dann runden: 101 ----> M++
Was meint der Blieberger mit M++ bei seinen Rundungshilfen? :confused:
was macht man da?
mantisse mit 1 addieren. in diesem fall wird es:
1100110111
CowboyAl
10-05-2004, 19:28
ah, danke an euch 2. Super, ich kanns jetzt. Zumindest das Addieren. :D :thumb:
vBulletin® v3.7.1, Copyright ©2000-2009, Jelsoft Enterprises Ltd.