#### Archived

This topic is now archived and is closed to further replies.

# PI

This topic is 7025 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

I entered a wrong digit after the 9 and it gets rounded up so I lose the 9

##### Share on other sites
actually, here's a problem i had in VC++. first i'd put an integer in a float, such as 3.0, and when the float is in a watch window or something like that, it's displayed as something like 3.0000. but when i do this: (double)var, it ends up 3.00000038832, or something like that.

anyway there's some garbage at the end which comes from the inability to represent numbers that aren't a power of 2 exactly, so if you do var == 3.0f, it'll fail. just like to point that out to people who're getting weird float problems, that was what caused the lighting problems in my opensource engine
http://members.xoom.com/mutex0

##### Share on other sites
this has been a point of contention with me for some time.

Pascal has a constant for pi. C++ does not.

i mean, SURE, pi is easily copied, or calculated (pi=atan(1)*4 or pi=abs(atan2(-1,0)) ), but isnt pi an important enough number to have a constant in math.h?

i can understand not making e a constant, because e is more rarely used, and the way to get it is just exp(1). also, i dont ever suggest having a constant that is a single letter.

##### Share on other sites
/usr/include >grep -i pi math.h

#define M_PI 3.14159265358979323846
#define M_PI_2 1.57079632679489661923
#define M_PI_4 0.78539816339744830962
#define M_1_PI 0.31830988618379067154
#define M_2_PI 0.63661977236758134308
#define M_2_SQRTPI 1.12837916709551257390

C:\MSdev\include>grep -i pi math.h
* Currently, all MS C compilers for Win32 platforms default to 8 byte
/* Define _CRTAPI1 (for compatibility with the NT SDK) */
#ifndef _CRTAPI1
#define _CRTAPI1 __cdecl
#define _CRTAPI1
/* Define _CRTAPI2 (for compatibility with the NT SDK) */
#ifndef _CRTAPI2
#define _CRTAPI2 __cdecl
#define _CRTAPI2
/* Define __cdecl for non-Microsoft compilers */

##### Share on other sites
Just a quick question.
When I put PI in a variable (float or double), I always get 3.1416. But when I use assembler and do :
fldpi
fst pi

pi contains 3.14159
Can anybody explain the extra digit to me?
Thanks

##### Share on other sites
why the 20 digits?
in my coursebook it says that a float has 7 digits precisions
and a double has 15 digit precision
or is there a bigger FP-number?

1. 1
2. 2
3. 3
Rutin
15
4. 4
khawk
13
5. 5
frob
12

• 9
• 9
• 11
• 11
• 23
• ### Forum Statistics

• Total Topics
633663
• Total Posts
3013236
×