Sechzehnernumeralia in Python (Sechzehnernumeralia in Python), Information, Seite 724212
https://www.purl.org/stefan_ram/pub/sechszehnernumeralia_python (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Python-Kurs

Hexadezimalnumeralia in Python 

Hexadezimalnumeralia werden durch »0x« eingeleitet. Danach folgen Hexadezimalziffern.

Einführende Beispiele

Die Werte der Hexadezimalzahlen sind zunächst genauso wie beim normalen Zahlensystem (Zehnersystem).

Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
0x0
0
Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
0x1
1
Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
0x2
2
Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
0x8
8
Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
0x9
9

Zum Ausdrücken des Wertes «10» wird der Buchstabe »A« verwendet, »B« steht für «11» u.s.w.

Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
0xA
10
Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
0xB
11
Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
0xE
14
Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
0xF
15

Der Buchstabe mit dem höchsten Wert ist »F« («15»). Die Zahl «16» wird dann mit zwei Stellen ausgedrückt, wobei der Wert des ersten Zeichens mit 16 multipliziert und dann der Wert des zweiten Zeichens addiert wird.

Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
0x10
16
Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
0x11
17
Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
0x12
18
Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
0x20
32
Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
0x21
33
Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
0xA0
160
Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
0xA1
161
Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
0xAF
175
Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
0xB0
176
Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
0xFF
255

Ein weiteres Beispiel

Im Hexadezimalsystem steht die Ziffer »F« für den Wert ‹ 15 ›.

Der Wert der vorletzten Stelle wird mit ‹ 16 › multiplziert.

Hexadezimalnumeralia werden durch ein einleitendes »0x« gekennzeichnet.

Daher ist der Wert des Ausdrucks »0xFF« ‹ 15×16+15 › also ‹ 255 ›.

Eingabe eines Ausdrucks und Ausgabe einer Textdarstellung seines Wertes
0xFF
255

Hexadezimalnumeralia

Ein Hexadezimalnumerale  (Plural: „Hexadezimalnumeralia“) ist eine Schreibweise einer bestimmten Zahl (vor allem im Quelltext) im Hexadezimalsystem (Zahlensystem zur Basis ‹ 16 ›).

Ein Beispiel für ein Hexadezimalnumerale hatten wir schon kennengelernt: »0xFF«.

Aufbau von Hexadezimalnumeralia

Unter einer „Hexadezimalziffer“ verstehen wir eine der Ziffern »0«, »1«, »2«, »3«, »4«, »5«, »6«, »7«, »8«, »9«, »a«, »A«, »b«, »B«, »c«, »C«, »d«, »D«, »e«, »E«, »f« oder »F«.

Produktionsregel
Hexadezimalziffer
.-.
|-|---.--->( 0 )---.--->|-|
| '-' ^
| .-. |
'--->( 1 )---'
| '-' ^
| .-. |
'--->( 2 )---'
| '-' ^
| .-. |
'--->( 3 )---'
| '-' ^
| .-. |
'--->( 4 )---'
| '-' ^
| .-. |
'--->( 5 )---'
| '-' ^
| .-. |
'--->( 6 )---'
| '-' ^
| .-. |
'--->( 7 )---'
| '-' ^
| .-. |
'--->( 8 )---'
| '-' ^
| .-. |
'--->( 9 )---'
| '-' ^
| .-. |
'--->( a )---'
| '-' ^
| .-. |
'--->( A )---'
| '-' ^
| .-. |
'--->( b )---'
| '-' ^
| .-. |
'--->( B )---'
| '-' ^
| .-. |
'--->( c )---'
| '-' ^
| .-. |
'--->( C )---'
| '-' ^
| .-. |
'--->( d )---'
| '-' ^
| .-. |
'--->( D )---'
| '-' ^
| .-. |
'--->( e )---'
| '-' ^
| .-. |
'--->( E )---'
| '-' ^
| .-. |
'--->( f )---'
| '-' ^
| .-. |
'--->( F )---'
'-'

Ein Hexadezimalnumerale beginnt mit einer Null »0«, der ein kleines »x« oder ein großes »X« folgt. Danach darf beliebig oft ein optionaler Grundstrich und eine Hexadezimalziffer wiederholt werden.

Beispiele: »0X_FF« und »0xff«.

Produktionsregel
Hexadezimalnumerale             .---------------------------------------------.
Null kleines x | |
.-. .-. v .-. .-------------------. |
|-|--->( 0 )---.--->( x )---.---'---.--->( _ )---.--->| Hexadezimalziffer |---'--->|-|
'-' | '-' ^ | '-' ^ '-------------------'
| .-. | | |
'--->( X )---' '------------'
'-'
grosses X

Einordnung von Hexadezimalnumeralia

Ein Hexadezimalnumerale ist ein Literal (und damit ein Ausdruck).

Produktionsregel

Literal

.----------------------.
|-|---.--->| Zeichenfolgenliteral |---.--->|-|
| '----------------------' |
| .----------------------. |
'--->| Dezimalnumerale |---'
| '----------------------' |
| .----------------------. |
'--->| Hexadezimalnumerale |---'
'----------------------'

Semantik

Der Wert eines Hexadezimalnumerales ist ein Objekt, das eine Zahl darstellt.

Der Wert einer Hexadezimalziffer

Der Wert eines Hexadezimalziffer wird in der folgenden Tabelle angegeben, indem zu einer Hexadezimalziffer in der linken Spalte rechts ein wertgleiches Dezimalnumeral angegeben wird.

Wert einer Hexadezimalziffer

Ziffer Wert

0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
a 10
A 10
b 11
B 11
c 12
C 12
d 13
D 13
e 14
E 14
f 15
F 15

Der Wert eines Hexadezimalnumerales

Falls das Hexadezimalnumerale nur aus einer Ziffer besteht, ist sein Wert der Zahlenwert jener Ziffer. So ergibt sich für das Hexadezimalnumerale »0x7« beispielsweise der Wert Sieben.

Falls das Dezimalnumerale aus mehr als einer Ziffer besteht, zerlegen wir es gedanklich in zwei Teile: die letzte Ziffer und den „vorderen Teil“, also den Teil vor  der letzten Ziffer. Der Zahlenwert ist dann das Sechszehnfache  des Wertes des vorderen Teils zuzüglich des Wertes der letzten Ziffer. So ergibt sich für das Hexadezimalnumerale »0xFF« beispielsweise das Sechszehnfache des Wertes von »F« plus dem Wert von »F«, also ‹ 255 ›.

Da bei Hexadezimalzahlen das Sechzehnfache eine besondere Rolle spielt, spricht man bei dieser Semantik vom „Hexadezimalsystem“ – das heißt vom „Sechzehnersystem“.

Numeralia

Literale für Zahlen nennt man Numeralia. Sowohl Dezimalnumeralia als auch Hexadezimalnumeralia sind Numeralia.

Begriffshierarchie der Literale
                  Ausdruck
^
|
Literal
^
|
.-----------'-----------.
| |
Zeichenfolgenliteral Numerale
'abc' ^
|
.-----------'-----------.
| |
Dezimalnumerale Hexadezimalnumerale
123 0xFF

Anmerkung

Mit dem Sechzehnersystem können wir den Unterschied zwischen einem Numerale  und einer Zahl verdeutlichen: »0xFF« und »255« sind zwei völlig verschiedene  Numeralia, aber stehen beide für dieselbe  Zahl.

Übungsfragen

?   Ausgabe vorhersagen

Welche Ausgabe erscheint in einer Python -Konsole, welche eine Textdarstellung der Werte eingegebener Quelltexte ausgibt, für die folgende Eingabe?

Eingabe
0x2A

?   Hexadezimalnumerale ermitteln

Wie lautet die Hexadezimalnumeralia für die Zahlen Zehn und Zwanzig?

?   Gleichheit von Werten

Ist der Wert des Dezimalnumerales »10« gleich dem Wert des Hexadezimalnumerales »0xA«?

?   Gleichheit von Hexadezimalnumeralia

Ist das Dezimalnumerale »10« gleich dem Hexadezimalnumerale »0xA«?

Übungsaufgaben

/   Python anwenden

Verwenden Sie Python  um den Wert des Hexadezimalnumerales »0xDE« im Dezimalsystem (im normalen Zahlensystem) darzustellen.

Aufbaudiagramme der Sprache ⃗

Aufbaudiagramm für Ausdrücke

Zeichenfolgenliteral
.-. .-.
|-|---.--->( ' )---.------------------------------.--->( ' )---.--->|-|
| '-' ^ | '-' ^
| | .---------------------. | |
| '---| ein Zeichen außer ' |<---' |
| '---------------------' |
| .-. .-. |
'--->( " )---.------------------------------.--->( " )---'
'-' ^ | '-'
| .---------------------. |
'---| ein Zeichen außer " |<---'
'---------------------'

Jede Dezimalziffer ausser 0
.-.
|-|---.--->( 1 )---.--->|-|
| '-' ^
| .-. |
'--->( 2 )---'
| '-' ^
| .-. |
'--->( 3 )---'
| '-' ^
| .-. |
'--->( 4 )---'
| '-' ^
| .-. |
'--->( 5 )---'
| '-' ^
| .-. |
'--->( 6 )---'
| '-' ^
| .-. |
'--->( 7 )---'
| '-' ^
| .-. |
'--->( 8 )---'
| '-' ^
| .-. |
'--->( 9 )---'
'-'

Dezimalziffer
.-.
|-|---.-------->( 0 )----------.--->|-|
| '-' |
| .---------------. |
| | Jede | |
'--->| Dezimalziffer |---'
| ausser 0 |
'---------------'

Dezimalnumerale (0)

.---------------.
| Jede |
|-|--->| Dezimalziffer |---.---------------------------------------.--->|-|
| ausser 0 | ^ |
'---------------' | |
| .---------------. |
'---| Dezimalziffer |----<--------------'
'---------------' ^ |
| .-. |
'---( _ )---'
'-'

Dezimalnumerale (1)

.-.
.---( _ )---.
| '-' |
V |
.----<----------'---.
| |
V .-. |
|-|---'------>( 0 )-------'--->|-|
'-'

Hexadezimalziffer
.-.
|-|---.--->( 0 )---.--->|-|
| '-' ^
| .-. |
'--->( 1 )---'
| '-' ^
| .-. |
'--->( 2 )---'
| '-' ^
| .-. |
'--->( 3 )---'
| '-' ^
| .-. |
'--->( 4 )---'
| '-' ^
| .-. |
'--->( 5 )---'
| '-' ^
| .-. |
'--->( 6 )---'
| '-' ^
| .-. |
'--->( 7 )---'
| '-' ^
| .-. |
'--->( 8 )---'
| '-' ^
| .-. |
'--->( 9 )---'
| '-' ^
| .-. |
'--->( a )---'
| '-' ^
| .-. |
'--->( A )---'
| '-' ^
| .-. |
'--->( b )---'
| '-' ^
| .-. |
'--->( B )---'
| '-' ^
| .-. |
'--->( c )---'
| '-' ^
| .-. |
'--->( C )---'
| '-' ^
| .-. |
'--->( d )---'
| '-' ^
| .-. |
'--->( D )---'
| '-' ^
| .-. |
'--->( e )---'
| '-' ^
| .-. |
'--->( E )---'
| '-' ^
| .-. |
'--->( f )---'
| '-' ^
| .-. |
'--->( F )---'
'-'

Hexadezimalnumerale .---------------------------------------------.
Null kleines x | |
.-. .-. v .-. .-------------------. |
|-|--->( 0 )---.--->( x )---.---'---.--->( _ )---.--->| Hexadezimalziffer |---'--->|-|
'-' | '-' ^ | '-' ^ '-------------------'
| .-. | | |
'--->( X )---' '------------'
'-'
grosses X

Numerale

.----------------------.
|-|---.--->| Dezimalnumerale |---.--->|-|
| '----------------------' |
| .----------------------. |
'--->| Hexadezimalnumerale |---'
'----------------------'

Literal

.----------------------.
|-|---.--->| Zeichenfolgenliteral |---.--->|-|
| '----------------------' |
| .----------------------. |
'--->| Numerale |---'
'----------------------'

Ausdruck

.---------.
|-|--->| Literal |--->|-|
'---------'

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram724212 stefan_ram:724212 Sechzehnernumeralia in Python Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd724212, slrprddef724212, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/sechszehnernumeralia_python