Was bedeutet ein 0x
Präfix auf einer Zahl?
const int shared_segment_size = 0x6400;
Es ist aus einem C-Programm. Ich kann mich nicht erinnern, was es x
bedeutet und was der Brief besonders bedeutet.
0x prefix C++
bringt Sie jetzt hierher :)
Was bedeutet ein 0x
Präfix auf einer Zahl?
const int shared_segment_size = 0x6400;
Es ist aus einem C-Programm. Ich kann mich nicht erinnern, was es x
bedeutet und was der Brief besonders bedeutet.
0x prefix C++
bringt Sie jetzt hierher :)
Antworten:
Literale, die mit beginnen, 0x
sind hexadezimale Ganzzahlen. (Basis 16)
Die Nummer 0x6400
ist 25600
.
6 * 16^3 + 4 * 16^2 = 25600
Für ein Beispiel mit Buchstaben (auch in hexadezimaler Notation verwendet, wobei A = 10, B = 11 ... F = 15)
Die Nummer 0x6BF0
ist 27632
.
6 * 16^3 + 11 * 16^2 + 15 * 16^1 = 27632
24576 + 2816 + 240 = 27632
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
Die mit beginnenden Zahlen 0x
sind hexadezimal (Basis 16). 0x6400
repräsentiert 25600
.
Umwandeln,
Die Faktoren 1, 16, 256 usw. sind die zunehmenden Potenzen von 16.
0x6400 = (0*1) + (0*16^1) + (4*16^2) + (6*16^3) = 25600
oder
0x6400 = (0*1) + (0*16) + (4*256) + (6*4096) = 25600
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 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)8
oder jede Basis verstehen ..
Hoffnung hat irgendwie geholfen.
Schönen Tag,