Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge

Locad - bräuchte dringend Hilfe

KeX0r / 5 Antworten / Baumansicht Nickles

Wenn ich eine Zahl meinetwegen 1 0 1 1 0 vor mir hab...!!


Wie weiss ich, ob die negativ oder postiv ist...!?

bei Antwort benachrichtigen
KeX0r Nachtrag zu: „Locad - bräuchte dringend Hilfe“
Optionen

Am Besten wäre die Antwort noch heute, da ich morgen die Arbeit schreibe!!

bei Antwort benachrichtigen
mr.escape KeX0r „Locad - bräuchte dringend Hilfe“
Optionen

Wenn bei gegebener wortbreite (8 bit bei byte, 16 bei short, 32 bei long etc.) das höchste bit (msb, ganz links bei der binär-darstellung) gesetzt ist und es sich im gesamten auch um vorzeichenbehaftete zahlen handelt ist die zahl negativ.
Beim beispiel von 1 0 1 1 0 muss man davon ausgehen, dass die führenden nullen NICHT angegeben sind und es sich um mindestens byte handelt (für alles was noch länger ist, gilt das genau so).
Das bedeutet, dass diese zahl eigentlich "0 0 0 1 0 1 1 0" ist und damit eben positiv (22 dezimal).
Im unwahrscheinlichen fall von 5-bit zahlen hätten wir aber eine negative zahl (-10 dezimal).

mr.escape

"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen
Andreas42 KeX0r „Locad - bräuchte dringend Hilfe“
Optionen

Hi!

Sorry, was ist Locad?

Das due die Binaerzahl 10110 meinst, hab' ich kappert, den Rest nicht. bei der üblichen Art der Binärzahlencodierung mit Vorzeichen, ist das MSB das Vorseichen (i.d.R. das linke Bit). Wenn's gesetzt ist müsste die Zahl negativ sein, sonst positiv.

Probierts aus: nim ein dreistellige Binärzahl mit einem zusätzlichen Bit als Vorziechen. Ziehe nun +1 von Null ab ohne das Vorzeichen zu berücksichtigen:

+0000
-0001
-----
=1111

(Das Ergebnis plus 1 ergibt mit Überlauf 10000, stimmt also.)

OK, Links ist das Vorzeichen und es ist gesetzt. da das Ergebnis -1 sein muss, ist also das Vorzeichenbit bei negativen Zahlen gesetzt. (Ich musste das gerade selbst so überprüfen, da ich mir nicht mehr sicher war.)

Bis denn
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen
KeX0r Nachtrag zu: „Locad - bräuchte dringend Hilfe“
Optionen

Alles klar, danke euch!!!
Also ist die Zahl immer negativ, wenn das "erste" Bit gesetzt ist!?
Oder gibt es Ausnahmen?

bei Antwort benachrichtigen
Andreas42 KeX0r „Alles klar, danke euch!!! Also ist die Zahl immer negativ, wenn das erste Bit...“
Optionen

Hi!

Ja, nach dieser Kodierung darf es keine Ausnahmen geben. ;-)

Bis denn
Andreas

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen