|
You last visited: Today at 11:56
Advertisement
FF(hex) in Dezimal
Discussion on FF(hex) in Dezimal within the General Coding forum part of the Coders Den category.
01/16/2016, 19:05
|
#1
|
elite*gold: 309
Join Date: Jul 2011
Posts: 4,311
Received Thanks: 886
|
FF(hex) in Dezimal
Warum ist FF(hex) neben 255 auch noch -128?
|
|
|
01/16/2016, 19:13
|
#2
|
elite*gold: 0
Join Date: Jul 2009
Posts: 211
Received Thanks: 137
|
Du benutzt vermutlich ein vorzeichen behafteten 8-Bit Datentyp.
|
|
|
01/16/2016, 19:21
|
#3
|
elite*gold: 966
Join Date: Apr 2010
Posts: 1,104
Received Thanks: 681
|
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
|
|
|
01/17/2016, 07:18
|
#4
|
elite*gold: 0
Join Date: May 2015
Posts: 700
Received Thanks: 445
|
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).
|
|
|
01/17/2016, 09:41
|
#5
|
elite*gold: 0
Join Date: Jul 2009
Posts: 211
Received Thanks: 137
|
Quote:
Originally Posted by algernong
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.
|
|
|
01/17/2016, 10:58
|
#6
|
elite*gold: 0
Join Date: May 2015
Posts: 700
Received Thanks: 445
|
Verstehe nicht so ganz, wie du das meinst.
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.
|
|
|
01/20/2016, 19:04
|
#7
|
elite*gold: 309
Join Date: Jul 2011
Posts: 4,311
Received Thanks: 886
|
Sorry ihr habt recht. Neben 255 kann es auch -1 sein.
Andere Frage: Man will eine Zahl in Binär ins negative bringen. Z.b 3
3 = 0000 0011
Zweierkomplement:
invertieren:
1111 1100
+
0000 0001
=
1111 1101 = -3?
Ist das jetzt dezimal gleichbedeutend wie dezimal +253?
|
|
|
01/20/2016, 19:19
|
#8
|
Moderator
elite*gold: 558
Join Date: Feb 2010
Posts: 6,544
Received Thanks: 1,424
|
Quote:
Originally Posted by NRj™
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.
|
|
|
|
Similar Threads
|
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 ?
|
All times are GMT +2. The time now is 11:56.
|
|