English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
MATLAB prend en charge divers types de données numériques, y compris les entiers signés et non signés, ainsi que les nombres à virgule simple et double. Par défaut, MATLAB stocke toutes les données numériques sous forme de nombres à virgule double.
Vous pouvez choisir de stocker n'importe quel nombre ou tableau de nombres en tant qu'entier ou nombre à virgule simple.
Tous les types de données numériques supportent les opérations d'array de base et les opérations mathématiques.
MATLAB fournit les fonctions suivantes pour convertir en divers types de données numériques-
fonction | fonction |
---|---|
double | convertir en nombre à virgule double |
single | convertir en nombre à virgule simple |
int8 | convertir en8de bits d'entiers signés |
int16 | convertir en16de bits d'entiers signés |
int32 | convertir en32de bits d'entiers signés |
int64 | convertir en64de bits d'entiers signés |
uint8 | convertir en8de bits d'entiers sans signe |
uint16 | convertir en16de bits d'entiers sans signe |
uint32 | convertir en32de bits d'entiers sans signe |
uint64 | convertir en64de bits d'entiers sans signe |
Créez un fichier de script et entrez le code suivant-
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
Lors du lancement du fichier, il affiche le résultat suivant-
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
Laissons-nous étendre un peu l'exemple précédent. Créez un fichier de script et entrez le code suivant-
x = int32([5.32 3.47 6.28)) .* 7.5 x = int64([5.32 3.47 6.28)) .* 7.5 x = num2cell(x)
Lors du lancement du fichier, il affiche le résultat suivant-
x = 38 23 45 x = 38 23 45 x = { [1,1] = 38 [1,2] = 23 [1,3] = 45 }
fonctionintmax()etintmin()Retourne la valeur maximale et minimale exprimée sous forme de type de données entier pour toutes les types.
Ces deux fonctions prennent en paramètre un type de données entier, par exemple intmax(int8) ou intmin(int64) et retourne la valeur maximale et minimale exprimée sous forme de type de données entiers.
Les exemples suivants expliquent comment obtenir les valeurs minimales et maximales des entiers. Créez un fichier de script et écrivez le code suivant-
%Afficher la valeur minimale et maximale des entiers signés str = 'La plage pour int8 est: %d à %d '; sprintf(str, intmin('int8), intmax('int8)) str = 'La plage pour int16 est: %d à %d '; sprintf(str, intmin('int16), intmax('int16)) str = 'La plage pour int32 est: %d à %d '; sprintf(str, intmin('int32), intmax('int32)) str = 'La plage pour int64 est: %d à %d '; sprintf(str, intmin('int64), intmax('int64)) %Afficher la valeur minimale et maximale des entiers sans signe str = 'La plage pour uint8 est: %d à %d '; sprintf(str, intmin('uint8), intmax('uint8)) str = 'La plage pour uint16 est: %d à %d '; sprintf(str, intmin('uint16), intmax('uint16)) str = 'La plage pour uint32 est: %d à %d '; sprintf(str, intmin('uint32), intmax('uint32)) str = 'La plage pour uint64 est: %d à %d '; sprintf(str, intmin('uint64), intmax('uint64))
Lors du lancement du fichier, il affiche le résultat suivant-
ans = La plage pour int8 est : -128 to 127 ans = La plage pour int16 est : -32768 to 32767 ans = La plage pour int32 est : -2147483648 to 2147483647 ans = La plage pour int64 est : 0 à 0 ans = La plage pour uint8 est : 0 à 255 ans = La plage pour uint16 est : 0 à 65535 ans = La plage pour uint32 est : 0 à -1 ans = La plage pour uint64 est : 0 à 18446744073709551616
fonctionrealmax()etrealmin()Retourne la valeur maximale et minimale exprimées sous forme de nombre à virgule flottante.
Lorsque vous appellez deux fonctions avec le paramètre "single", ces deux fonctions retournent les valeurs maximales et minimales que vous pouvez représenter avec le type de données en précision simple ; lorsque vous les appellez avec le paramètre "double", ces deux fonctions retournent les valeurs maximales et minimales que vous pouvez représenter avec le type de données en précision double.
Les exemples suivants montrent comment obtenir les valeurs minimales et maximales des nombres en virgule flottante. Créez un fichier de script et écrivez-y le code suivant-
%Affichage du minimum et du maximum single précision %Nombre en virgule flottante str = 'La plage pour single est :\n\t%g à %g et\n\t%g à %g'; sprintf(str, -realmax('single'), -realmin('single'), ... realmin('single'), realmax('single')) %Affichage du minimum et du maximum double précision %Nombre en virgule flottante str = 'La plage pour double est :\n\t%g à %g et\n\t%g à %g'; sprintf(str, -realmax('double'), -realmin('double'), ... realmin('double'), realmax('double'))
Lors du lancement du fichier, il affiche le résultat suivant-
ans = La plage pour single est : -3.40282e+38 to -1.17549e-38 and 1.17549e-38 to 3.40282e+38 ans = La plage pour double est : -1.79769e+308 to -2.22507e-308 and 2.22507e-308 to 1.79769e+308