Stellenwertsystem < C/C++ < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Hallo Zusammen,
ich habe eine Frage bzg., vorzeichenbehaftende Zahlen.
Wie erfolgt die Anwendung?
z.b -3=-(00000000000000011) wäre soweit klar.... [mm] z=\summe_{i=1}^{n}z_i*2^{i-1}
[/mm]
jedoch -3=1111111111111101
ist unklar.. kann mir jemand da helfen?
|
|
|
|
> Hallo Zusammen,
>
> ich habe eine Frage bzg., vorzeichenbehaftende Zahlen.
> Wie erfolgt die Anwendung?
>
> z.b -3=-(00000000000000011) wäre soweit klar....
> [mm]z=\summe_{i=1}^{n}z_i*2^{i-1}[/mm]
>
> jedoch -3=1111111111111101
>
> ist unklar.. kann mir jemand da helfen?
>
man interpretiert die zahl 3 erstmal als positive zahl im binärsystem:
(ich machs jetzt nur mal mit 6 stellen): 00 00 11
daraus wird dann das 2erkomplement gebildet, in dem alle stellen zuerst negiert, und dann eine 1 addiert wird:
1. schritt, negieren: 11 11 00
dann eine 1 addieren:
11 11 01
rück wandlung geht quasi genauso:
11 11 01 soll wieder ins dezimalsystem gewandelt werden.. die 1 vorne sagt mir, dass es sich um eine negative zahl handelt, also negier ich zunächst einmal:
00 00 10
und addiere wieder 1
00 00 11
ergibt 3, und da ich ja wusste, dass es eine negative zahl war, habe ich nun -3
hoffe das ist etwas klarer, ansonsten frag nochmal
gruß tee
|
|
|
|
|
hallo tee,
erstmals vielen dank
also
[mm] -(0111)=1*2^0+1*2^1+1*2^2=7
[/mm]
->
1000
-> 1001=
wenn das so stimmt, a.) verstehe ich die dahinterstehende logik nicht
b.) weis ich nicht wie man 1001 berechnet, muss ich die Minuszah in eine Pluszahl transformieren und dann ausrechnen?
kannst du mir den ausdruck zweirkomplement noch erläutern::
vielen dank
|
|
|
|
|
> hallo tee,
> erstmals vielen dank
> also
>
> [mm]-(0111)=1*2^0+1*2^1+1*2^2=7[/mm]
hier muss es (damit die gleichung wahr ist) stehen
[mm] -(0111)=-(1*2^0+1*2^1+1*2^2)=-7
[/mm]
> ->
>
> 1000
die 1000 wäre jetzt das einerkompliment (dh, nur alle zahlen negieren)
>
> -> 1001=
durch addition von 1 wird daraus das 2er kompliment.. was die beiden unterscheidet, siehst du recht schön auf der graphik auf der seite:
http://www.iris.uni-stuttgart.de/lehre/eggenberger/gdi/1/Codierung/Zahlendarstellung/NegativeZahlen.htm
> wenn das so stimmt, a.) verstehe ich die dahinterstehende
> logik nicht
> b.) weis ich nicht wie man 1001 berechnet, muss ich die
> Minuszah in eine Pluszahl transformieren und dann
> ausrechnen?
genau, so wie ich das vorgemacht hab.
1001 (erste zahl =1, somit ist die zahl negativ, ich muss also zunächst das einerkompliment bilden (invertieren))
-> 0110
nun 1 addieren (um das 2er kompliment zu erhalten)
0110+1=0111
und das ist 7
da die zahl ja negativ war, wird eine -7 draus
> kannst du mir den ausdruck zweirkomplement noch
> erläutern::
>
> vielen dank
>
>
gruß tee
|
|
|
|
|
hallo tee,
vielen dank für deine gelungene erklärung, auch der hinweis auf die homepage
ist sehr sehr hilfreich
|
|
|
|