Division with some decimal


Closed Thread
Results 1 to 16 of 16

Hybrid View

  1. #1
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by Darklakebridge7 View Post
    Hi to everybody! I would have the necessity to perform the following division in PIC Basic, but I don't know from how stings to depart.
    A = B / 5,58 B is a constant
    I would have the necessity to visualize the result on a display LCD also visualizing 2 decimal. Can someone help me? Thanks everybody
    You do know that PBP does NOT deal with fractions and decimals...right?

    a var word
    b var word
    'start with a number in b
    1 - b = 655 ' maximum value in b is 655, otherwise word variable b will overflow
    2 - b = b * 100 'shift the decimal point over to right 2 places temporarily
    3 - a = b / 558 'constant value of 5.58 also has it's decimal point shifted over by 2 places

    1 - b = 655 (given)
    2 - b = 65500 (closest you can get without overflowing a word value)
    3 - a = 117 ( 65500 / 558, PBP doesn't do fractions)

    Do a search on 'decimal' and 'fraction' here and you'll find some stuff. Otherwise, download the floating point math routines from microchip if you need good accuracy.
    Last edited by skimask; - 7th May 2007 at 20:31.

  2. #2
    Join Date
    Oct 2004
    Location
    Hangover, Germany
    Posts
    289


    Did you find this post helpful? Yes | No

    Wink

    While B is a constant,
    just type it to your desktop-calculator and place the result inside a LCDOUT-command. ;-)

    Because, if B is a constant and 5,58 too - the result "A" is another constant. You don't need any calculation in runtime...
    PBP 2.50C, MCS+ 3.0.0.5, MPLAB 8, MPASM 5.14, ASIX Presto, PoScope, mE mikroBasic V7.2, PICKIT2

  3. #3
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by BigWumpus View Post
    While B is a constant,
    just type it to your desktop-calculator and place the result inside a LCDOUT-command. ;-)

    Because, if B is a constant and 5,58 too - the result "A" is another constant. You don't need any calculation in runtime...
    Oh..Hey...Good point!
    Missed that entirely! DOH!
    That really would save a lot of calculation time wouldn't it...

  4. #4
    Join Date
    Jul 2005
    Location
    Ferrara - Italy
    Posts
    13


    Did you find this post helpful? Yes | No

    Unhappy

    Hi boys!

    I have been wrong to expose the problem!

    I would have the necessity to divide the variable "B" for the number 5,58 and subsequently to visualize the result "A" on LCD.

    My very problem is the following:

    A = B / 5,58

    Excuse the error! Everybody can help me??

  5. #5
    Join Date
    Oct 2004
    Location
    New Hampshire
    Posts
    76


    Did you find this post helpful? Yes | No

    Default

    Not knowing the size of B, I've used DIV32. B can be any integer up to 65534.

    A VAR WORD
    B VAR WORD


    A = B * 100 'A is temporary storage of computation
    A = DIV32 558 'using DIV32... B can be any integer up to 65534
    A = A / 100 'final result is placed in variable A as an integer... any
    'remainder will be discarded.

    Hope this helps,

    Ross
    Never enough knowledge to be called intelligent but just enough knowledge to be considered dangerous!

    I like that! :-)

  6. #6
    Join Date
    Jul 2005
    Location
    Ferrara - Italy
    Posts
    13


    Did you find this post helpful? Yes | No

    Red face

    Quote Originally Posted by rossfree View Post
    Not knowing the size of B, I've used DIV32. B can be any integer up to 65534.

    A VAR WORD
    B VAR WORD


    A = B * 100 'A is temporary storage of computation
    A = DIV32 558 'using DIV32... B can be any integer up to 65534
    A = A / 100 'final result is placed in variable A as an integer... any
    'remainder will be discarded.

    Hope this helps,

    Ross
    Thank you Ross!

    Thanks for your fast answer!

    The routine works, but I would have the necessity to visualize on LCD the data drawn with 2 decimal.

    Would you know how to help me?

  7. #7
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    Tip: use DIG and DEC modifier with LCDOUT.
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

Similar Threads

  1. variable + decimal
    By savnik in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 18th August 2009, 14:21
  2. Binary Coded Decimal
    By -Dan- in forum mel PIC BASIC Pro
    Replies: 11
    Last Post: - 25th May 2009, 09:23
  3. 16bit variable and degrees conversion
    By RFsolution in forum mel PIC BASIC Pro
    Replies: 7
    Last Post: - 2nd May 2005, 17:27
  4. Decimal to binary conversion
    By Demon in forum Code Examples
    Replies: 9
    Last Post: - 25th February 2005, 20:05
  5. Convert a word variable to decimal
    By Tomexx in forum mel PIC BASIC Pro
    Replies: 1
    Last Post: - 4th December 2004, 20:02

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts