English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O MATLAB suporta vários tipos de números, incluindo inteiros assinados e não assinados e números de precisão simples e dupla. Por padrão, o MATLAB armazena todos os números como números de precisão dupla.
Você pode escolher armazenar qualquer número ou array de números como inteiro ou número de precisão simples.
Todos os tipos de dados numéricos suportam operações básicas de array e operações matemáticas.
O MATLAB fornece as seguintes funções para converter para vários tipos de dados numéricos-
função | função |
---|---|
double | converter para número de precisão dupla |
single | converter para número de precisão simples |
int8 | converter para8bits de inteiro signed |
int16 | converter para16bits de inteiro signed |
int32 | converter para32bits de inteiro signed |
int64 | converter para64bits de inteiro signed |
uint8 | converter para8bits de inteiro unsigned |
uint16 | converter para16bits de inteiro unsigned |
uint32 | converter para32bits de inteiro unsigned |
uint64 | converter para64bits de inteiro unsigned |
Crie um arquivo de script e insira o seguinte código-
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
Quando o arquivo é executado, ele exibe o seguinte resultado-
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
Vamos expandir mais um pouco o exemplo anterior. Crie um arquivo de script e insira o seguinte código-
x = int32([5.32 3.47 6.28]) .* 7.5 x = int64([5.32 3.47 6.28]) .* 7.5 x = num2cell(x)
Quando o arquivo é executado, ele exibe o seguinte resultado-
x = 38 23 45 x = 38 23 45 x = { [1,1] = 38 [1,2] = 23 [1,3] = 45 }
funçãointmax()eintmin()retorna o valor máximo e mínimo que podem ser representados por todos os tipos de dados inteiros.
Essas duas funções aceitam o tipo de dados inteiro como parâmetro, por exemplointmax(int8)ouintmin(int64),e retorna o valor máximo e mínimo que podem ser representados pelo tipo de dados inteiro.
Os seguintes exemplos ilustram como obter o menor e o maior valor inteiro. Crie um arquivo de script e escreva o seguinte código-
%Mostra o menor e o maior número inteiro signed str = 'O intervalo para int8 é:\n\t%d to %d '; sprintf(str, intmin('int8), intmax('int8)) str = 'O intervalo para int16 é:\n\t%d to %d '; sprintf(str, intmin('int16), intmax('int16)) str = 'O intervalo para int32 é:\n\t%d to %d '; sprintf(str, intmin('int32), intmax('int32)) str = 'O intervalo para int64 é:\n\t%d to %d '; sprintf(str, intmin('int64), intmax('int64)) %Mostra o menor e o maior número inteiro unsigned str = 'O intervalo para uint8 é:\n\t%d to %d '; sprintf(str, intmin('uint8), intmax('uint8)) str = 'O intervalo para uint16 é:\n\t%d to %d '; sprintf(str, intmin('uint16), intmax('uint16)) str = 'O intervalo para uint32 é:\n\t%d to %d '; sprintf(str, intmin('uint32), intmax('uint32)) str = 'O intervalo para uint64 é:\n\t%d to %d '; sprintf(str, intmin('uint64), intmax('uint64))
Quando o arquivo é executado, ele exibe o seguinte resultado-
ans = O intervalo para int8 é: -128 to 127 ans = O intervalo para int16 é: -32768 to 32767 ans = O intervalo para int32 é: -2147483648 to 2147483647 ans = O intervalo para int64 é: 0 to 0 ans = O intervalo para uint8 é: 0 to 255 ans = O intervalo para uint16 é: 0 to 65535 ans = O intervalo para uint32 é: 0 to -1 ans = O intervalo para uint64 é: 0 to 18446744073709551616
funçãorealmax()erealmin()Retorna o valor máximo e mínimo que podem ser representados por números de ponto flutuante.
Quando os dois funções são chamadas com o parâmetro 'single', ambas retornam o maior e o menor valor que você pode representar com o tipo de dados de precisão simples; quando chamadas com o parâmetro 'double', ambas retornam o maior e o menor valor que você pode representar com o tipo de dados de precisão dupla. Tipo de dados de precisão dupla.
Os seguintes exemplos mostram como obter o menor e o maior número de ponto flutuante. Crie um arquivo de script e escreva o seguinte código nele-
%Exibe o menor e o maior single %Números de ponto flutuante str = 'O intervalo para single é:\n\t%g até %g e\n\t%g até %g'; sprintf(str, -realmax('single'), -realmin('single'), ... realmin('single'), realmax('single')) %Exibe o menor e o maior double %Números de ponto flutuante str = 'O intervalo para double é:\n\t%g até %g e\n\t%g até %g'; sprintf(str, -realmax('double'), -realmin('double'), ... realmin('double'), realmax('double'))
Quando o arquivo é executado, ele exibe o seguinte resultado-
ans = O intervalo para single é: -3.40282e+38 to -1.17549e-38 and 1.17549e-38 to 3.40282e+38 ans = O intervalo para double é: -1.79769e+308 to -2.22507e-308 and 2.22507e-308 to 1.79769e+308