Effacer les filtres
Effacer les filtres

Floor function for int8

8 vues (au cours des 30 derniers jours)
Alexander Brodsky
Alexander Brodsky le 1 Août 2011
I want to round down (floor) variable defined as int8 without converting to double !
for example: a=int8(8.6);
I want the result will equal to 8 instead of 9. Is there way to do or it impossible (without converting to double) ? The reason I need it, because I work with large matrix (25000x25000) of int8.
Thanks Alex
  2 commentaires
Walter Roberson
Walter Roberson le 1 Août 2011
To check the circumstances: do you have something like
int8(86) ./ int8(10)
and you want the result to be int8(8) instead of int8(9) ?
Alexander Brodsky
Alexander Brodsky le 1 Août 2011
exactly !

Connectez-vous pour commenter.

Réponse acceptée

Mike Hosea
Mike Hosea le 1 Août 2011
Using your later example,
idivide(a,4,'floor')
does what you want there. I prefer to make both arguments integers of the same type, so I would probably have written
idivide(a,int8(4),'floor').
Note that the default option for idivide is 'fix', which might be what you want. Obviously, 'floor' and 'fix' are the same for non-negative quotients. -- Mike
  3 commentaires
Jan
Jan le 1 Août 2011
@Mike: Thanks! I've learned a new command.
Mike Hosea
Mike Hosea le 2 Août 2011
You're welcome. :) As I read the question and my response again, I think I should have made it more clear that both arguments need to be integers of the same type in order to avoid a cast to double inside of IDIVIDE.

Connectez-vous pour commenter.

Plus de réponses (2)

Paulo Silva
Paulo Silva le 1 Août 2011
a=int8(floor(8.6))
  1 commentaire
Alexander Brodsky
Alexander Brodsky le 1 Août 2011
sorry, my false for bad explanation.
new example:
a=int8(3);
a1=a/4;
I want a1 to be 0.

Connectez-vous pour commenter.


Sean de Wolski
Sean de Wolski le 1 Août 2011
A = int8(magic(10));
B = int8(5);
idx = (mod(A,B)>(B/2)); %elements that need to be reduced.
C = A./B;
C(idx) = C(idx)-1;

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by