Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 11:56

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



FF(hex) in Dezimal

Discussion on FF(hex) in Dezimal within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
NRj™'s Avatar
 
elite*gold: 309
The Black Market: 119/0/0
Join Date: Jul 2011
Posts: 4,311
Received Thanks: 886
FF(hex) in Dezimal

Warum ist FF(hex) neben 255 auch noch -128?
NRj™ is offline  
Old 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.
Mysthik is offline  
Old 01/16/2016, 19:21   #3


 
Jeoni's Avatar
 
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
Jeoni is offline  
Old 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).
algernong is offline  
Old 01/17/2016, 09:41   #5
 
elite*gold: 0
Join Date: Jul 2009
Posts: 211
Received Thanks: 137
Quote:
Originally Posted by algernong View Post
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.
Mysthik is offline  
Old 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.
algernong is offline  
Old 01/20/2016, 19:04   #7
 
NRj™'s Avatar
 
elite*gold: 309
The Black Market: 119/0/0
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?
NRj™ is offline  
Old 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™ View Post
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.
ComputerBaer is offline  
Thanks
1 User
Reply


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.