how to consider only the integer part discarding the exponent part
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Suppose i have a= [1 23 56]*10^(-9);
i want to acccess only the integer part that is 1 23 and 56.
i want to find the max(a). That is the output should be 56.
0 commentaires
Réponses (2)
Pramil
le 2 Juin 2023
Modifié(e) : Pramil
le 2 Juin 2023
What you can do is multiply "a" with 10^9 first and then proceed to find max(a). Like this :
a = [1 23 56]*10^(-9); % given array
a_int = int64(a*10^9); % convert to integer array
max_a = max(a_int); % find maximum value
disp(max_a);
0 commentaires
Star Strider
le 2 Juin 2023
Modifié(e) : Star Strider
le 2 Juin 2023
This appears to be a reasonably robust approach —
a = [1 23 56]*10^(-9);
b = a.*10.^ceil(-log10(abs(a))+1)
max_a = max(b)
a = [1 23 56]*10^(-6);
b = a.*10.^ceil(-log10(abs(a))+1)
a = [1 23 56]*10^(10);
b = a.*10.^ceil(-log10(abs(a))+1)
a = [1 23 56]*10^(-1);
b = a.*10.^ceil(-log10(abs(a))+1)
EDIT — Corrected typographical error
.
0 commentaires
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!