Hi all!
I thought this was solved when I read the word "casting" with reference to the 
documentation. This is the problem indeed.
A result is always the same size as the arguments, or the larger argument if 
they differ.
(word*word)=word
dword(word*word)= dword(word) 

you need to cast one (or both) of your input words to a dword to get the 
correct result:

var dword c= (dword(a)*b)/1000


Greets,Kiste


    Am Freitag, 29. März 2019, 19:07:38 MEZ hat Rian De Rous 
<[email protected]> Folgendes geschrieben:  
 
 
I have this code on a PIC18f27k42 and the output of this is 16 instead of 1000? 
5000*200 = 1 000 000, and that fits perfectly in a dword (four bytes). 
var word a= 200
var word b= 5000
var dword c= (a*b)/1000
print_dword_dec(lcd,c) 




I don't know if it's related to the compiler or to the jallib print_dword_dec() 
function. But the answer should be 1000 not  16. 

-- 
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/jallib.
For more options, visit https://groups.google.com/d/optout.
  

-- 
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/jallib.
For more options, visit https://groups.google.com/d/optout.

Reply via email to