Frage von FredBAM, 32

Wie rechnen ich den um und warum steht da eine 0X davor?

Hey :)

wie setzt sich der Code zusammen bzw wie lese ich ihn? Es sind mehrere Zahlen da drin oder?

0x12796

besten Dank :)

Antwort
von AnReRa, 26

Hallo,

korrekterweise sollte die 'Zahl' wohl  0x12796h heißen.

Dabei handelt es sich um die Zahlendarstellung im Hexadezimal-System.
Das zählt - pro Symbolstelle - nicht bis 10 sondern bis 16 und verwendet für die Darstellung dann auch Buchstaben. Dabei ersetzt 'A' die 10, 'B' die 11 usw. bis 'F' = 15
Umwandlung :

0x0h = 0
0x9h = 9
0xAh = 10
0xFh = 15

0x12h = 1* 16 + 2 = 18
0x2Bh = 2* 16 + 11 = 43

0x1234h = 1 * ( 16 ^ 3) + 2 * (16 ^2 ) + 3 * (16^1) + 4 * (16^0)= 4660

und

0x12796h = 1* (16^4) + 2 * (16^3) + 7* (16^2) + 9* (16^1) + 6*(16^0) = 75670

falls Du das '^' nicht kennst:

16^0 = 1
16^1 = 16
16^2 = 16 * 16 = 256
16^3 = 16 * 16 * 16 = 4096

usw.

Es gibt ansonsten auch noch das Binär-System, geschrieben z.B.

0x010101b

Hier zählt jede Stelle 'nur' 0 oder 1. Entsprechend ist die Rechnung  dann mit 2^0, 2^1, 2^2 usw.

Weniger gebräuchlich ist das Octal-System, da ist die Basis dann die Zahl 8.

Da in deiner Zahl aber eine '9' vorkommt, kann es sich nur um das Hexadezimalsystem handeln.

Kommentar von J0eSpivy ,

0x010101b als Binär? Definitiv NICHT, wer sagt den das das "b" nicht Teil des Hex Codes ist? Binär wird mit "0b" gekennzeichnet, sowie Hex mit "0x"

Dein Beispiel wäre Dezimal 1052699, wenn man das "b" zum Hex Code interpretiert, anstatt der Binären 21 wenn man es 0b010101 schreibt. Großer Unterschied.

Kommentar von AnReRa ,

Ist eine Frage der Konvention.
'b' für Binär-Darstellung und 'B' für Hex-Darstellung von 11 (dezimal)
Ist aber m.W. in kleinster Weise genormt.

Ich kenne eben

0x00b - binär
0x00o - octal
0x00h - hexadezimal

In 'C' gibt es hingegen die Darstellung 0x00 (hex) und 0b00 (binär)

'Genormt' ist glaube ich nur die Darstellung

[17]  = [11]   = [21]  = [10001]
10 16 8 2
Kommentar von reddox86 ,

Mit

0xYYb
0xYYo
0xYYh

wäre ich vorsichtig, mir ist kein System bekannt wo das zur Anwendung kommt (du darfst mir aber gerne vom Gegenteil überzeugen, lernen ist toll ;-))

Im C-Standard ist auf jeden Fall nur

YY   // fuer DEC
0xYY // fuer HEX
0YY  // für OCT
0bYY // für BIN (ab C++14, gab es bisher nicht, warum auch immer)

Definiert

Kommentar von SirNik ,

ich kenne 0x nur als Präfix für Hex. und das h am ende ebenfalls, beides (also 0x56H) ist doppelt gemoppelt. ebenso kann man die basis (bei hex 16) auch klein hinschreiben, allerdings handelt es sich ja hier um Schreibweisen in der Programmierung und C/C++ akzeptiert, soweit ich weiß 0x . Ein Intel-Assembler akzeptiert ein H hintenangestellt. und motorola sachen akzeptiert ein $ vorangestellt. In C sollte mittlerweile alles gehen, statt nur 0x . aber probiers mal aus, ich denke, wenn du 0x56H eintippst, wird ein Fehler kommen, da er das H vermutlich nicht interpretieren kann, da mit 0x ja schon auf hex hingewiesen wurde und H nicht zu Hex Gehört

Kommentar von MikaDaBoss2 ,

scheiß die Wand an, so viel Mathe.

Antwort
von tDoni, 11

Darstellung von Hexadezimalzahlen

[..] Verbreitete Schreibweisen sind: 7216, 72hex, 72h, 72H, 72H, 0x72, $72, "72 und X'72' wobei das Präfix 0x und das Suffix h insbesondere in der Programmierung und technischen Informatik Verwendung finden.

Aus https://de.wikipedia.org/wiki/Hexadezimalsystem

Antwort
von J0eSpivy, 24

"0x" beasgt das die folgende Zahl im Hex Format ist.

Die Hexadezimalzahl 12796 wird ins Dezimalsystem umgewandelt

Jede Stelle der Zahl hat den Wert der entsprechenden Potenz von 16;
die rechte Ziffer entspricht 16º=1, die zweite von rechts 16¹=16 usw.
Nimm jede Ziffer bzw. ihren Zahlenwert (A=10, B=11, ... )
mal mit der entsprechenden Potenz und summiere.
Gehe am besten von rechts nach links vor:

6: 6 · 1 = 6
9: 9 · 16 = 144
7: 7 · 256 = 1792
2: 2 · 4096 = 8192
1: 1 · 65536 = 65536
——————
75670

Dezimal = 75670

Antwort
von Sivsiv, 22

0x ist ein Prefix um Hexadezimalzahlen zu markieren.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten