Was ich mich gefragt habe, wie sollen negative Zahlen hexadezimal bezeichnet werden? Wie -0xff oder 0x-ff? Ich denke das erste, aber ich weiß es nicht.
Luc
7
@ Luc Der erste ist richtig. Obwohl ich öfter gerecht 0xffffffffund so sehe . ( 0xffffffff = -1für 32-Bit-Int unter der Annahme von 2er-Komplement)
Mysticial
@ Luc Negative Zahlen werden binär mit dem Zweierkomplement dargestellt - eine clevere Methode, für die kein '-' Zeichen erforderlich ist. Es wird also im Grunde genommen von binär in hexadezimal, negativ oder positiv konvertiert.
Shuvo Sarker
@ShuvoSarker Danke für den Zusatz! Das ist aber nur die Speicherdarstellung, ich denke ähnlich, wenn wir uns einig wären, dass wir eine Reihe von Zahlen von 0 bis 1999 haben und dass 1000 bis 1999 die negativen Zahlen darstellen würden. Meine Frage betraf die für Menschen lesbare Notation, obwohl das Wissen, wie Computer es tun, jemand anderem helfen könnte, also danke :)
Luc
16
In C und Sprachen, die auf der C-Syntax basieren, 0xbedeutet das Präfix hexadezimal (Basis 16).
Somit ist 0 × 400 = 4 × (16 2 ) + 0 × (16 1 ) + 0 × (16 0 ) = 4 × ((2 4 ) 2 ) = 2 2 × 2 8 = 2 10 = 1024 oder ein binäres K. .
Und so ist 0x6400 = 0x4000 + 0x2400 = 0x19 × 0x400 = 25K
Es ist ein Präfix, das angibt, dass die Zahl hexadezimal und nicht in einer anderen Basis angegeben ist. Die Programmiersprache C verwendet es, um den Compiler zu informieren.
Beispiel:
0x6400übersetzt in 6*16^3 + 4*16^2 + 0*16^1 +0*16^0 = 25600.Wenn der Compiler liest 0x6400, versteht er, dass die Zahl mit Hilfe des 0x-Terms hexadezimal ist. Normalerweise können wir durch (6400)16 or (6400)8oder jede Basis verstehen ..
0x prefix C++
bringt Sie jetzt hierher :)Antworten:
Literale, die mit beginnen,
0x
sind hexadezimale Ganzzahlen. (Basis 16)Die Nummer
0x6400
ist25600
.Für ein Beispiel mit Buchstaben (auch in hexadezimaler Notation verwendet, wobei A = 10, B = 11 ... F = 15)
Die Nummer
0x6BF0
ist27632
.quelle
0xffffffff
und so sehe . (0xffffffff = -1
für 32-Bit-Int unter der Annahme von 2er-Komplement)In C und Sprachen, die auf der C-Syntax basieren,
0x
bedeutet das Präfix hexadezimal (Basis 16).Somit ist 0 × 400 = 4 × (16 2 ) + 0 × (16 1 ) + 0 × (16 0 ) = 4 × ((2 4 ) 2 ) = 2 2 × 2 8 = 2 10 = 1024 oder ein binäres K. .
Und so ist 0x6400 = 0x4000 + 0x2400 = 0x19 × 0x400 = 25K
quelle
Es ist eine Hexadezimalzahl.
quelle
Die mit beginnenden Zahlen
0x
sind hexadezimal (Basis 16).0x6400
repräsentiert25600
.Umwandeln,
Die Faktoren 1, 16, 256 usw. sind die zunehmenden Potenzen von 16.
oder
quelle
EINFACH
Es ist ein Präfix, das angibt, dass die Zahl hexadezimal und nicht in einer anderen Basis angegeben ist. Die Programmiersprache C verwendet es, um den Compiler zu informieren.
Beispiel:
0x6400
übersetzt in6*16^3 + 4*16^2 + 0*16^1 +0*16^0 = 25600.
Wenn der Compiler liest0x6400
, versteht er, dass die Zahl mit Hilfe des 0x-Terms hexadezimal ist. Normalerweise können wir durch(6400)16 or (6400)8
oder jede Basis verstehen ..Hoffnung hat irgendwie geholfen.
Schönen Tag,
quelle