Was ist 0x10 in Dezimal?

8

Ich habe den folgenden Code:

SN.get_Chars (5)

SN ist eine Zeichenkette, daher sollte dies den 5. Char geben Ok!

Jetzt habe ich einen anderen Code aber: SN.get_Chars (0x10)

Ich frage mich, was 0x10 ist? Ist es eine Nummer? Wenn es so ist, was ist dann in Dezimalschreibweise?

    
Omar Abid 28.03.2009, 05:33
quelle

5 Antworten

39

0x bedeutet, dass die Zahl hexadezimal oder Basis 16 ist.

0x10 ist 16.

    
Michael 28.03.2009, 05:34
quelle
85

0xNNNN (nicht notwendigerweise vier Ziffern) stellt in C mindestens ein hexadezimales Zeichen dar (Basis-16, da 'hex' 6 ist und 'dec' ist 10 in Lateinisch abgeleitete Sprachen), wobei N ist eine der Ziffern 0 bis 9 oder A bis F (oder ihre kleingeschriebenen Entsprechungen, die jeweils 10 bis 15 darstellen), und es kann eine oder mehrere dieser Ziffern in der Zahl geben. Die andere Art der Darstellung ist NNNN <16>.

Es ist sehr nützlich in der Computerwelt, da eine einzelne hexadezimale Ziffer vier Bits (Binärziffern) darstellt. Das liegt daran, dass vier Bits mit jeweils zwei möglichen Werten insgesamt 2 x 2 x 2 x 2 oder 16 (2 4 ) ergeben. Mit anderen Worten:

%Vor%

Eine Base-X-Nummer ist eine Zahl, bei der jede Position ein Vielfaches einer Potenz von X darstellt.

In der Basis 10, die wir Menschen gewohnt sind, sind die verwendeten Ziffern 0 bis 9 und die Zahl 7304 10 ist:

  • (7 x 10 3 ) = 7000 10 ; Plus
  • (3 x 10 2 ) = 300 10 ; Plus
  • (0 x 10 1 ) = 0 10 ; Plus
  • (4 × 10 <0>) = 4 <10>; entspricht 7304.

In Oktal, wo die Ziffern 0 bis 7 sind. die Zahl 754 8 lautet:

  • (7 x 8 2 ) = 448 10 ; Plus
  • (5 x 8 1 ) = 40 10 ; Plus
  • (4 x 8 0 ) = 4 10 ; entspricht 492 10 .

Den Oktalzahlen in C ist das Zeichen 0 vorangestellt, also 0123 ist nicht 123, sondern stattdessen (1 * 64) + (2 * 8) + 3 oder 83.

Im Binärformat, wobei die Ziffern 0 und 1 sind. die Nummer 1011 2 ist:

  • (1 x 2 3 ) = 8 10 ; Plus
  • (0 x 2 2 ) = 0 10 ; Plus
  • (1 x 2 1 ) = 2 10 ; Plus
  • (1 x 2 0 ) = 1 10 ; entspricht 11 10 .

Im Hexadezimalformat, wobei die Ziffern 0 bis 9 und A bis F sind (die die "Ziffern" 10 bis 15 darstellen). die Nummer 7F24 16 ist:

  • (7 x 16 3 ) = 28672 10 ; Plus
  • (F x 16 2 ) = 3840 10 ; Plus
  • (2 x 16 1 ) = 32 10 ; Plus
  • (4 x 16 0 ) = 4 10 ; entspricht 32548 10 .

Ihre relativ einfache Zahl 0x10 , die die Art und Weise darstellt, wie C 10 16

  • (1 x 16 1 ) = 16 10 ; Plus
  • (0 x 16 0 ) = 0 10 ; gleich 16 10 .

Nebenbei gesagt, die verschiedenen Basen der Zahlen werden für viele Dinge verwendet.

  • base 10 wird, wie bereits erwähnt, von uns Menschen mit 10 Ziffern an unseren Händen benutzt.
  • base 2 wird von Computern verwendet, da es relativ einfach ist, die zwei binären Zustände mit elektrischen Schaltkreisen darzustellen.
  • base 8 wird fast ausschließlich in UNIX-Dateiberechtigungen verwendet, so dass jede Oktalziffer ein 3-Tupel von Binärberechtigungen (Lesen / Schreiben / Ausführen) darstellt. Es wird auch in C-basierten Sprachen und UNIX-Dienstprogrammen verwendet, um Binärzeichen in einen ansonsten nur druckbaren Datenstrom einzufügen.
  • Die Basis 16 ist eine bequeme Möglichkeit, vier Bits zu einer Ziffer zu repräsentieren, insbesondere da die meisten Architekturen heutzutage eine Wortgröße haben, die ein Vielfaches von vier Bits ist.
  • base 64 wird beim Verschlüsseln von Mail verwendet, so dass Binärdateien nur mit druckbaren Zeichen gesendet werden können. Jede Ziffer steht für sechs Binärziffern, so dass Sie drei Acht-Bit-Zeichen in vier Sechs-Bit-Ziffern verpacken können (25% höhere Dateigröße, aber garantiert, dass die Mail-Gateways unberührt bleiben).
  • als halb nützlicher Ausschnitt, Basis 60 stammt aus einer sehr alten Zivilisation (Babylon, Sumer, Mesopotamien oder etwas Ähnliches) und ist die Quelle von 60 Sekunden / Minuten in der Minute / Stunde, 360 Grad in einem Kreis, 60 Minuten (von Bogen) in einem Grad und so weiter [nicht wirklich mit der Computerindustrie verwandt, aber trotzdem interessant].
  • als noch weniger nützliches Snippet, die ultimative Frage und Antwort in The Hitchhikers Guide To The Galaxy war "Was bekommst du, wenn du 6 mal 9 multiplizierst?" und "42". Während das gleiche, weil der Computer Erde fehlerhaft war, sehen andere es als Beweis, dass der Schöpfer 13 Finger hat: -)
paxdiablo 28.01.2012 10:05
quelle
3

Es ist eine Hexadezimalzahl und ist 16 dezimal.

    
sipwiz 28.03.2009 05:34
quelle
3

Beachten Sie, dass '10' die Darstellung der Basis in dieser Basis ist:

10 ist 2 (dezimal) in base-2

10 ist 3 (dezimal) in base-3

...

10 ist 10 (dezimal) in Basis-10

...

10 ist 16 (dezimal) in Basis-16 (hexadezimal)

...

10 ist 1024 (dezimal) in der Basis-1024

... und so weiter

    
jab 21.04.2009 06:51
quelle
1

Die einfache Version ist 0x ist ein Präfix, das eine hexadezimale Zahl Quelle angibt.

Der Wert, den Sie berechnen, ist nach das Präfix, in diesem Fall 10.

Aber das ist nicht die Zahl 10. Das höchstwertige Bit 1 bezeichnet den Hexadezimalwert, während 0 die Einheiten bezeichnet.

Die einfache Mathematik, die Sie machen würden, ist

0x10

%Vor%

Hinweis - Sie verwenden 16, weil hex die Basis 16 ist.

Ein anderes Beispiel:

0xF7

%Vor%

Sie können eine Liste von Werten erhalten, indem Sie nach einer Hexentabelle suchen. Zum Beispiel in diesem Diagramm Hinweis F entspricht 15.

    
mdo123 19.05.2017 22:16
quelle

Tags und Links