Wo ist 0xFF denn -128? Im Zweierkomplement (8 bit) wäre 0xFF halt -1. -128 wäre dort 0x80.
Mehr dazu HIER. Finde das recht gut erklärt, aber gibt sicher auch noch viele andere Seiten, die das Erklären. Ist halt eine bequeme Konvention, um negative Zahlen darzustellen. "Bequem" daher, weil sich Additionen damit ohne weiteres durchführen lassen:
(Annahme von 8 bit Zahlen)
1 - 1 = 0
1 + (-1) = 0
0x01
+ 0xFF
------
0x100
Man nimmt nur so viel vom Ergebnis (von hinten), wieviel man auch zum Rechnen benutzt hat, also in dem Fall 8 bit, und kommt so auf ... 0x00 = 0.
Mit freundlichen Grüßen
Jeoni
In der Vorzeichen-Betrag-Form (mit 8 Bit) ist 0xFF immerhin -127. Auch noch knapp daneben.
0xFF kann neben 255 *alles* sein, solange du keine Architektur dazu angibst. Es ist nicht naturgegeben, wie eine Zahl interpretiert wird - das darf jede Rechnerarchitektur so machen, wie sie will. Du kannst auch einen Rechner bauen der jede Zahl als Element vom Restklassenkörper Z/2Z betrachtet, dann ist 0xFF neben 255 auch 1, -1, 3, -3, 5, -5, ... (leider aber auch nicht -128).
In der Vorzeichen-Betrag-Form (mit 8 Bit) ist 0xFF immerhin -127. Auch noch knapp daneben.
Das ist doch nur dann der Fall, wenn man die Null doppelt hat (negativ und positiv). Das ist dann nicht mehr ganz die Vorzeichen-Betrag-Form könnte aber die -128 würde damit glaube ich passen.
Bei der Vorzeichen-Betrag-Form ist die 0 doppelt, ja. Deswegen gibt es bei IEEE 754 auch +0 und -0. 0xFF ist in der Form aber -127, weil 0b0111 111 = 127, und durch die 1 als MSB ist es -127.
Ist das jetzt dezimal gleichbedeutend wie dezimal +253?
Ja.
Aus dem Grund solltest du immer wissen ob der Datentyp ein Vorzeichen hat oder nicht. Wenn das eine Programm -3 schreibt, du +253 liest und versuchst damit etwas "auszurechnen" (ich meine damit auch Schleifen oder irgendwelche Funktionen/Methoden), dann kannst du leicht auf ein komplett flasches Ergebnis kommen.
C# BCD-Code in Dezimal 10/08/2013 - C/C++ - 2 Replies Hallo ich hab hier ein kleines Programm geschrieben welches einen BCD-Code in eine Dezimalzahl umwandelt.(Arbeitsauftrag von einem Lehrer meiner Schule)
Zurzeit funktioniert es wenn man den BCD-Code in folgendem Format eingiebt(z.B.: 100100010000) ich hätte aber gern das ich beim Einlesen auch Spaces verwenden darf(z.B.:1001 0001 0000)
Hier ist dann auch schon mein Problem ich hab viel versucht aber ich schaffs nicht die Leerzeichen dann wieder zu entfernen.
Bitte um Hilfe :P
using...
Hexadezimal ~ Binär ~ Dezimal 09/11/2013 - Tutorials - 24 Replies Hallo liebe Community,
heute will ich mich mal nützlich machen und euch etwas beibringen. Das hier gibt es bestimmt xtausend mal im Internet. Aber noch nicht auf Elitepvpers. Daher wollte ich mich darum kümmern. Ich hoffe einigen wird dieses Tutorial etwas bringen.
Dann fangen wir mit der Erklärung an, was ich euch hier beibringen will.
Es geht um die Zahlensysteme: Hexadezimal - Binär - Dezimal
Ich erkläre euch, wie man diese umrechnet, und wie man mit ihnen umgeht und wo sie...
Convert Dezimal to Hexerdezimal 03/28/2011 - Coding Tutorials - 6 Replies I möchte euch hier zeigen wie man Dezimalzahlen mit C++ zu Hexerdezimalzahlen wandelt.
Zuerst benötigen wir 4 Variablen (einen Array).
Danach muss eine Ganzzahl eingegeben werden.
int iDezimal = 0;
int iRest;
int i_a_ToHex ;
int i = 0;
[Delphi] Readprocessmemory() mit dezimal? 06/12/2010 - General Coding - 3 Replies Hallo, ich hätte noch eine frage.
ReadProcessMemory(Pidhndl,ptr(BaseAddr), @AtmTargetPointer, Data, written);
readprocessmemory gibt mir 0 als ausgabe. Ich verwende als Baseaddr eine Dezimalzahl.
Nun meine Frage : Kann man mit readprocessmemory auch Dezimale addressen auslesen? Ohne das ''$'' vor der addresse?
-298
Hexadezimal in Dezimal ???? 01/14/2006 - Off Topic - 10 Replies Hi,
ich schreibe morgen eine Arbeit in Info, nun muss ich eine Hexadezimalzahl in eine Dezimalzahl umwandeln. Und eine Dezimalzahl in eine Hexadezimalzahl. zB Dezimalzahl: 1000 in Hexadezimal
Kann da wer helfen ? Wie geht das ?