Simple calculation not working, need help

This is a discussion on Simple calculation not working, need help within the C Programming forums, part of the General Programming Boards category; Originally Posted by Summonerur Wow! Thanks for the help, I know everything I need to know now. Do you actually ...

  1. #16
    Just Lurking Dave_Sinkula's Avatar
    Join Date
    Oct 2002
    Posts
    5,006
    Quote Originally Posted by Summonerur
    Wow! Thanks for the help, I know everything I need to know now.



    Do you actually enjoy sitting here bashing on people who are trying to learn things? I have been looking at previous threads to maybe learn some things off of other peoples questions and I noticed all you do is post sarcastic comments that have absolutely no educational value.

    I am sorry if we are not all as smart as you are or fortunate enough to have had or have professors who know what they are teaching. /bow
    Quote Originally Posted by Dave_Sinkula
    Could you post an expected input and output to demonstrate exactly what you mean?
    >yeah, something like that.
    Uh, no. Not "something like that".
    Quote Originally Posted by Dave_Sinkula
    Could you post an expected input and output to demonstrate exactly what you mean?
    7. It is easier to write an incorrect program than understand a correct one.
    40. There are two ways to write error-free programs; only the third one works.*

  2. #17
    Registered User
    Join Date
    Sep 2004
    Posts
    17
    Sorry:

    input:
    A: 32
    B: 34

    Expected output: 46.69047012
    given output: 46.6905

    Just wondering how to stop it from rounding

    thanks for all the help you have been giving me btw.

  3. #18
    ATH0 quzah's Avatar
    Join Date
    Oct 2001
    Posts
    14,826
    Quote Originally Posted by Summonerur
    Wow! Thanks for the help, I know everything I need to know now.
    That is everything you need to know about floating point numbers. There is no rhyme or reason to why they round they do. They just do. If they run across something they can't represent, it rounds it. You as the programmer have absolutely no way of easily telling when it's going to round. It just does.

    As I stated: "Welcome to the world of floating point numbers." If you don't want rounding, don't use floating point numbers. Period.

    Trust me, you'll know when you're being "bashed" by me.

    Quzah.
    Hope is the first step on the road to disappointment.

  4. #19
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    32,824
    Well if you really want everything, then read this
    http://cch.loria.fr/documentation/IE...M/goldberg.pdf
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.
    I support http://www.ukip.org/ as the first necessary step to a free Europe.

  5. #20
    Just Lurking Dave_Sinkula's Avatar
    Join Date
    Oct 2002
    Posts
    5,006
    Quote Originally Posted by Summonerur
    input:
    A: 32
    B: 34

    Expected output: 46.69047012
    given output: 46.6905

    Just wondering how to stop it from rounding
    There is a default precision for "%f". If you want a different precision, just specify it.
    Code:
    #include <stdio.h>
    #include <math.h>
    
    int main(void)
    {
       double a = 32, b = 34, c = sqrt(a * a + b * b);
       printf("c = %f\n", c);
       printf("c = %.8f\n", c);
       return 0;
    }
    
    /* my output
    c = 46.690470
    c = 46.69047012
    */
    7. It is easier to write an incorrect program than understand a correct one.
    40. There are two ways to write error-free programs; only the third one works.*

  6. #21
    ... kermit's Avatar
    Join Date
    Jan 2003
    Posts
    1,528
    Quote Originally Posted by Summonerur
    Wow! Thanks for the help, I know everything I need to know now.



    Do you actually enjoy sitting here bashing on people who are trying to learn things? I have been looking at previous threads to maybe learn some things off of other peoples questions and I noticed all you do is post sarcastic comments that have absolutely no educational value.

    I am sorry if we are not all as smart as you are or fortunate enough to have had or have professors who know what they are teaching. /bow
    Well, I suppose from your viewpoint it might seem like Quzah was not trying to be helpful, but if you had taken the initiative and actually thought about the answer he gave you (as opposed to moaning about what a mean and nasty guy he is) you might have come up with the novel idea of looking up some floating point resources for yourself.

    From the viewpoint of the regulars on this board, you are just another student in a long list of students who come here for a short time and are gone for good. Every year a new batch pops up wanting to get all kinds of good information, in the easiest fashion possible. Well hey, this board is to help people get good info, and yeah it is free, so you can't really complain if you don't like what you get. But here is the kicker - how many times do you think some of the members on the board, like Quzah or Salem or any of the others with 3000+ posts have seen a question like, 'Gee, this floating point stuff is whacked!' ? Believe me, they have seen it many times. And as the answer is not generally a short one (as evidenced by some of the documentation referred to previously and in this post) it is somewhat easier to just give a bit of hint (like Quzah did) which ought to be enough to prompt someone like you to do some looking instead of sitting there like a baby bird with its neck stretched out and its beak open waiting for mommy bird to vomit up some worms or whatever.

    That said, here are a couple of other things with regards to your question, should you wish to take the time to look through the material.

    http://docs.sun.com/source/806-3568/ncgTOC.html

    http://www.eskimo.com/~scs/C-faq/s14.html

    This next one might be a little helpful too:

    http://stevehollasch.com/cgindex/coding/ieeefloat.html

    ~/
    Last edited by kermit; 09-24-2004 at 04:01 PM.

Page 2 of 2 FirstFirst 12
Popular pages Recent additions subscribe to a feed

Similar Threads

  1. ifdef is harmful - but simple workaround is not working
    By amitbern in forum C Programming
    Replies: 15
    Last Post: 12-06-2008, 07:02 AM
  2. Replies: 10
    Last Post: 09-08-2008, 12:38 AM
  3. Simple program not working
    By oobootsy1 in forum C# Programming
    Replies: 1
    Last Post: 08-10-2005, 03:20 AM
  4. Replies: 5
    Last Post: 02-02-2003, 10:56 AM
  5. simple program not working
    By Unregistered in forum Windows Programming
    Replies: 2
    Last Post: 03-04-2002, 11:36 PM

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21