English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

MATLAB-Nummer

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.

in verschiedene numerische Datentypen umwandeln

MATLAB bietet folgende Funktionen, um in verschiedene numerische Datentypen umzuwandeln-

FunktionFunktion
doublein Double-Precision-Zahlen umwandeln
singlein Single-Precision-Zahlen umwandeln
int8in8bitweise signed Integer
int16in16bitweise signed Integer
int32in32bitweise signed Integer
int64in64bitweise signed Integer
uint8in8bitweise unsigned Integer
uint16in16bitweise unsigned Integer
uint32in32bitweise unsigned Integer
uint64in64bitweise unsigned Integer

Beispiel

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

Beispiel

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
}

kleinste und größte Integer

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.

Beispiel

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

kleinste und größte Fließkommazahlen

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.

Beispiel

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