Schön, dass Sie da sind!

PlusPedia wird derzeit technisch modernisiert. Wie alles, was bei laufendem Betrieb bearbeitet wird, kann es auch hier zu zeitweisen Ausfällen bestimmter Funktionen kommen. Es sind aber alle Artikel zugänglich, Sie können PlusPedia genauso nutzen wie immer.

Bei PlusPedia sind Sie sicher: – Wir verarbeiten keine personenbezogenen Daten, erlauben umfassend anonyme Mitarbeit und erfüllen die Datenschutz-Grundverordnung (DSGVO) vollumfänglich. Es haftet der Vorsitzende des Trägervereins.

Bitte beachten: Aktuell können sich keine neuen Benutzer registrieren. Wir beheben das Problem so schnell wie möglich.

PlusPedia blüht wieder auf als freundliches deutsches Lexikon.
Wir haben auf die neue Version 1.43.3 aktualisiert.
Wir haben SSL aktiviert.
Hier geht es zu den aktuellen Aktuelle Ereignissen

Hinweis zur Passwortsicherheit:
Bitte nutzen Sie Ihr PlusPedia-Passwort nur bei PlusPedia.
Wenn Sie Ihr PlusPedia-Passwort andernorts nutzen, ändern Sie es bitte DORT bis unsere Modernisierung abgeschlossen ist.
Überall wo es sensibel, sollte man generell immer unterschiedliche Passworte verwenden! Das gilt hier und im gesamten Internet.
Aus Gründen der Sicherheit (PlusPedia hatte bis 24.07.2025 kein SSL | https://)

Datentyp

Aus PlusPedia
Zur Navigation springen Zur Suche springen
Fehler beim Erstellen des Vorschaubildes: Datei fehlt Der Titel dieses Artikels ist mehrdeutig. Zum internen Aufbau von Dateien siehe Dateiformat; zu den Regeln zur programmtechnischen Interpretation von Daten siehe Datenformat.

Eigenschaften eines Datentyps

  • Der zulässige Wertebereich
  • Welche Literale erlaubt sind
  • Es gibt Operatoren (Plus, Minus)
  • Funktionen auf den Datentyp (Sinus = sin(x))
  • Es gibt mit dem Typ verbundene spezifische Eigenarten

Zuweisung

Es gibt den Zuweisungsoperator.

  • =
    • in Python
  • :=
    • Delphi
    • Pascal
    • PL-SQL
    • ...
  • A = 5
  • B = 5.0

A ist eine Ganzzahl - B ist eine Gleitkommazahl

ziel1 = ziel2 .... = ausdruck (Allen Variablen wird der Wert ausdruck zugeordnet. (Python)

ziel1, ziel2 = ausdruck1, ausdruck2

Erweiterete Zuweisung

x += y entspricht x = x + y

Struktur von Datentypen

Mathematischer Datentyp

  • Ganze Zahlen
  • Reele Zahlen
  • Irrationale Zahlen
  • Kompexe Zahlen
  • Quaternion

Elementare Datentypen

Elementare Datentypen lassen sich nicht mehr aufteilen. Typischerweiße unterstützt der Prozessor die Abarbeitung der Programme bei elementaren Datentypen.

Zahlen

Binäre Zahlen (Dualsystem)

In einem modernen digitalen Rechner basiert alles auf den Werten 0 und 1. Zahlen werden in das binäre System übersetzt.

Prozessoren unterstüzten eine bestimmte Wortbreite. Standard in den 2000ern waren 32 Bit. Ab etwa 2010 verbreiteten sich zunehmend 64-Bit-Prozessoren und Betriebssysteme.

Andere üblichen Basen sind 8 (Oktalsystem) und 16 (Hexadezimalsystem)

Formalien

Negative Zahlen

Negative Zahlen werden im Zweierkomplement dargestellt.


Byteorder

32 Bit stehen im Speicher wie folgt: 0-7 | 8-15 | 16-23 | 24-31

Die Frage ist in welcher Reihenfolge liest die Hardware die 4 Bytes aus.

Welches ist das Höherwertige Byte. Steht es unten oder oben.

Heute sind noch Little Endian und Big Endian üblich. (Anekdote von den Gullivers Reisen - Wie schlägt man ein Ei am besten auf - Ein Ei an der Spitzen oder an der Stupmfen Seite zuerst aufschlägt)

Little Endian / Big Endian / Middle Endian (obsolet)

  • Little Endian ist von Intel-x86-Prozessoren und das BS Windows
  • Big Endian, Power PC (umschaltbar), Motorla-68000-Familie, MIPS Prozessoren, HP-UX, Internet


Ganzzahlen

Darstellungsbereiche
  • Bei 8 Bit = 0 bis +255 oder -128 bis +127
  • Bei 16 Bit = 0 bis +65535 oder -32768 bis +32767
  • Bei 32 Bit = 0 bis 4294967295 oder -2147483648 bis +2147483647

Gleitkommazahl

Bei Gleitkommazahlen wird halblogarithmische Darstellung genutzt:

  • 1.24 * 10² → Dies wird dann in das Dualsystem umgewandelt.
  • Mantisse
  • Exponent
  • Basis

Risiken of Floating Point

  • Gleitkommazahlen sind nicht gleich dicht auf dem Zahlenstrahl
  • Bei single Precission liegen sie z. B. zwishcen 1 un2 8.398607 verschiedene Gleitkommazahlen

zwischen 1023 und 1024 dagegen nur 8191. Die Genauigkeit ist nicht absolut konstant. Die relative Genauigkeit ist konstant. Die Anzahl der signifikanten Stellen isnd wichtig.

Text

  • Schriftysteme der Welt
    • Es gibt viele Systeme und Symbole

Das Alphabet in der Informatik ist in der Informatik weiter gefasst als in der Lingustik.

Unter Alphabet versteht man (z. B. nach DIN 44300) eine total geordnete endliche Menge (oft nichtleere Menge) von unterscheidbaren Symbolen (Zeichen). (Wohlordnung)

Kurzzeichen Σ

Zeichenreihe ist eine endliche lineare Reihe von Zeichen eines Alphabets Σ. Also ist eine Zeichenkette. Eine leere Zeichenkette ist auch möglich.

Bei einer Zeichenkette geht es nicht um die Schriftart - Eine Zeichenkette unterscheidet nicht zwischen Proportional oder nichtproportional - Serifen sind auch nicht relevant.

Internationale Zeichensätze:

  • ASCII (7 Bit pro Zeichen) - 1963
  • ISO/IEC 8859 - 1966
  • Unicode ISO/IEC - 1991

Operatoren

  • Operatoren sind Beispielsweise '+', '-', '*'
  • Operatoren können unterschiedliche Bedeutungen haben, obwohl sie gleich ausehen. '+' kann die Addition bei Integerzahlen und eine Verknüfpung von Strings.

Starke Bindung

  • Bei der starken Bindung können nur gleiche Typen mit Operatoren verbunden werden. Das Ergebnis ist wieder vom selben Typ.

Beispiel: 2 + 3.5 + '0001'

  • Kann interpretiert werden als 2.0 + 3.5 + 1.0 = 1.0
  • Oder aber '2'+'3.5'+'0001' = '23.50001'
  • a = 2 # Integer 32 bit
  • c = '0001' # string 4 byte
  • b = 3.5 # Float 64 bit

Mögliche Abbildung im Speicher:

  • a = 00000002
  • c = 30303031
  • b = 400C0000
  • 00000000

Probleme sind 7 / 2 = 3.5 aber 6/2 = 3 (integer)

Ganzzahlige Division für die strenge Typisierung ist:

  • 7//3 = 3
  • Modulo 7 % 2 = 1 (7/3 = 2 Rest 1)

Stark typsierte Sprachren sind: Java, Python, Pascal

Schwache Bindung

Bei der schwachen Bindung können Datentypen gemischt werden.

  • C / C++, PHP, Perl, JavaScript sind Sprachen für schwache Bindung;

Statische

Bei einer statischen Typisierung muss für jede Variable der Datentyp angegeben werden. (Deklaration)

Gründe:

  • In großen Programmen können Fehler durch statische Typsierung verhindert werden. Und zwar zur Kompilierung. Konstanten sind Konstanten. Eine Variable kann den Typ nicht ändern.

Dynamische

Dynamische Typisierung bedeutet, dass erst zur Laufzeit entschieden wird, welchen Typ eine Variable hat. (Durch den Zuweisungsbefehl)

Gründe:

  • Weniger Schreibarbeit - aber in Python trotzdem eindeutig.

Casting und Coercion

  • implizite Typkonvertierung oder coercion (englisch für Nötigung oder Zwang)
  • explizite Typenkonvertierung oder cast(ing) (englisch eingießen, formen, werfen)

Implizite Konvertierung

Coercion findet oft bei Zahlen statt: Integer → Float → Complex

Dabei ist Float höher als Integer angesetzt.

Nicht unproblematisch, aber sinnvoll.

  • Vorsicht: (In Python können größere Integerzahlen als Floatzahlen gespeichert werden)

Beim Verknüpfen von zwei Variablen mit unterschiedlichen Typen, wird das Ergebnis vom höheren Typ sein.

Explizite Konvertierung (Casting)

Beim Casting wird beispielsweise

  • ein String in eine Zahl umgewandlet. (int(c) in Python)
  • Eine Zahl in einen String
  • Float in Integer
  • Ein Zeichen in einen ASCII-Wert (ord (c) in Python)
  • hex, oct, complex, bool

Links und Quellen

Siehe auch

Weblinks

Quellen

Literatur

Einzelnachweise


Andere Lexika