Modulus division. You divide by 12 and keep the as a result the integer remainder of the division.
So 23.00 h mod 12 gives remaider 11, exactly what 23 at 12h basis is.
Ioannis
Hi I,
I'm not so good at Maths, so please make allowances
I have to read instructions a number of times to 'get it'. In this line is there a word missing? [You divide by 12 and keep the=== as a result the integer remainder of the division.]
As mentioned, I'm programming a PIC and I just looked at the Oshonsoft manual, here is a paragraph:
Five arithmetic operations (+, -, *, /, MOD) are available for integer data types. MOD operation is not applicable for Single data type variables. The compiler is able to compile all possible complex arithmetic expressions, including those containing math functions and user defined functions. For example:
Dim i As Word
Dim j As Word
Dim x As Word
i = 123
j = i * 234
x = 2
x = (j * x - 12345) / (i + x)
From my reading, and as I'm using SINGLEs, this means I can't use MOD. If so is there another way? (SINGLEs allow 0.0000000)
C.
Last edited by camerart; - 22nd January 2016 at 10:13.
I have not used the Oshonsoft compiler yet, although I have it.
But nothing bothers you to use a Word variable instead of the Single.
I wrote my post in succesive interruptions because of phone calls and other tasks, so yes, the word "the" should be deleted.
Ioannis
I do not follow the conversation well enough to speak in context, but in doing a similar thing I found the solution to calculate direction and distance separately; then, once I'd accurately calculated these, dump off those variables to a routine that "swung the needle". I did not need to worry about "round" however as I was programming to mimic analog gauges.
Last, to simulate MOD subtract the integer value from the single value - that decimal portion which remains...
Last edited by Amoque; - 22nd January 2016 at 13:48.
Hi A,
Here's another explanation, again using the clock:
1/ The HAND is at 3. Input FACE 5. HAND<FACE = cwise. HAND moves and counts. HAND=4. HAND<FACE=cwise. HAND moves and counts. HAND=5. HAND=FACE =BRAKE.
2/ The HAND is at 12. Input FACE=1 HAND>FACE = ccwise NOT CORRECT.
I want FACE to cover FACE+1 and FACE-1.
3/ The HAND is at 12. Input FACE=1 Now FACE-1= -1.
This is difficult for me to understand.
I am also trying to understand the MOD suggestions. I will need to check the program to see if I can use MOD, as I get to understand it more.
Thanks. C.
C.
Last edited by camerart; - 22nd January 2016 at 14:38.
Bookmarks