English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
MATLAB unterstützt verschiedene numerische Klassen, einschließlich signierter und unsignierter Integer sowie Single-Precision- und Double-Precision-Fließkommazahlen. Standardmäßig speichert MATLAB alle numerischen Werte als Double-Precision-Fließkommazahlen.
Sie können jede Zahl oder Zahlengruppe als Integer oder Single-Precision-Zahl speichern.
Alle numerischen Typen unterstützen grundlegende Array-Operationen und mathematische Operationen.
MATLAB bietet folgende Funktionen, um in verschiedene numerische Datentypen umzuwandeln-
Funktion | Funktion |
---|---|
double | in Double-Precision-Zahlen umwandeln |
single | in Single-Precision-Zahlen umwandeln |
int8 | in8bitweise signed Integer |
int16 | in16bitweise signed Integer |
int32 | in32bitweise signed Integer |
int64 | in64bitweise signed Integer |
uint8 | in8bitweise unsigned Integer |
uint16 | in16bitweise unsigned Integer |
uint32 | in32bitweise unsigned Integer |
uint64 | in64bitweise unsigned Integer |
Erstellen Sie eine Skriptdatei und geben Sie folgenden Code ein-
x = single([5.32 3.47 6.28)) .* 7.5 x = double([5.32 3.47 6.28)) .* 7.5 x = int8([5.32 3.47 6.28)) .* 7.5 x = int16([5.32 3.47 6.28)) .* 7.5 x = int32([5.32 3.47 6.28)) .* 7.5 x = int64([5.32 3.47 6.28)) .* 7.5
Wenn Sie die Datei ausführen, wird das folgende Ergebnis angezeigt-
x = 39.900 26.025 47.100 x = 39.900 26.025 47.100 x = 38 23 45 x = 38 23 45 x = 38 23 45 x = 38 23 45
Lassen Sie uns das vorangegangene Beispiel erweitern. Erstellen Sie eine Skriptdatei und geben Sie folgenden Code ein-
x = int32([5.32 3.47 6.28)) .* 7.5 x = int64([5.32 3.47 6.28)) .* 7.5 x = num2cell(x)
Wenn Sie die Datei ausführen, wird das folgende Ergebnis angezeigt-
x = 38 23 45 x = 38 23 45 x = { [1,1] = 38 [1,2] = 23 [1,3] = 45 }
Funktionintmax()undintmin()Rückgabe des größten und kleinsten Wertes, der durch alle Integer-Datentypen dargestellt werden kann.
Diese beiden Funktionen nehmen den Integer-Datentyp als Parameter, z.B. intmax(int8) oder intmin(int64) und gibt die größten und kleinsten Werte zurück, die durch den Integer-Datentyp dargestellt werden können.
Nachfolgender Beispiel zeigt, wie man die kleinsten und größten Integerwerte erhält. Erstellen Sie eine Skriptdatei und schreiben Sie folgenden Code hinein-
%Anzeige des Bereichs für die kleinsten und größten signed Integers str = Der Bereich für int8 ist: %d bis %d ''; sprintf(str, intmin('int8), intmax('int8)) str = Der Bereich für int16 ist: %d bis %d ''; sprintf(str, intmin('int16), intmax('int16)) str = Der Bereich für int32 ist: %d bis %d ''; sprintf(str, intmin('int32), intmax('int32)) str = Der Bereich für int64 ist: %d bis %d ''; sprintf(str, intmin('int64), intmax('int64)) %Anzeige des Bereichs für die kleinsten und größten unsigned Integers str = Der Bereich für uint8 ist: %d bis %d ''; sprintf(str, intmin('uint8), intmax('uint8)) str = Der Bereich für uint16 ist: %d bis %d ''; sprintf(str, intmin('uint16), intmax('uint16)) str = Der Bereich für uint32 ist: %d bis %d ''; sprintf(str, intmin('uint32), intmax('uint32)) str = Der Bereich für uint64 ist: %d bis %d ''; sprintf(str, intmin('uint64), intmax('uint64))
Wenn Sie die Datei ausführen, wird das folgende Ergebnis angezeigt-
ans = Der Bereich für int8 ist: -128 to 127 ans = Der Bereich für int16 ist: -32768 to 32767 ans = Der Bereich für int32 ist: -2147483648 to 2147483647 ans = Der Bereich für int64 ist: 0 bis 0 ans = Der Bereich für uint8 ist: 0 bis 255 ans = Der Bereich für uint16 ist: 0 bis 65535 ans = Der Bereich für uint32 ist: 0 bis -1 ans = Der Bereich für uint64 ist: 0 bis 18446744073709551616
Funktionrealmax()undrealmin()Rückgabe des größten und kleinsten Wertes, der durch Fließkommazahlen dargestellt werden kann.
Wenn Sie die beiden Funktionen mit dem Parameter "single" aufrufen, geben beide Funktionen die größten und kleinsten Werte zurück, die Sie mit dem Single-Präzisionsdatentyp darstellen können; wenn Sie sie mit dem Parameter "double" aufrufen, geben beide Funktionen die größten und kleinsten Werte zurück, die Sie mit dem Double-Präzisionsdatentyp darstellen können.
Nachfolgender Beispiel zeigt, wie Sie den kleinsten und größten Fließkommawert erhalten. Erstellen Sie eine Skriptdatei und schreiben Sie den folgenden Code hinein-
%Anzeige des kleinsten und größten Single-Präzisionswerts %Fließkommazahlen str = 'Der Bereich für single ist:\n\t%g bis %g und\n\t%g bis %g'; sprintf(str, -realmax('single'), -realmin('single'), ... realmin('single'), realmax('single')) %Anzeige des kleinsten und größten Double-Präzisionswerts %Fließkommazahlen str = 'Der Bereich für double ist:\n\t%g bis %g und\n\t%g bis %g'; sprintf(str, -realmax('double'), -realmin('double'), ... realmin('double'), realmax('double'))
Wenn Sie die Datei ausführen, wird das folgende Ergebnis angezeigt-
ans = Der Bereich für single ist: -3.40282e+38 to -1.17549e-38 and 1.17549e-38 to 3.40282e+38 ans = Der Bereich für double ist: -1.79769e+308 to -2.22507e-308 and 2.22507e-308 to 1.79769e+308