View Full Version : Doubt in C
abhi_10_20
16-03-2007, 07:48 PM
Dunno whether its right to post it here....
Anyway, this is my doubt:
i couldn't find this in Google.......
---> if we declare a float, like:
float a=2.7;
it gets stored in the memory as 2.700000 with specifically 6 digits only, after the decimal point. Why? (may be related to its format)
The Unknown
16-03-2007, 08:02 PM
Dunno whether its right to post it here....
Anyway, this is my doubt:
i couldn't find this in Google.......
---> if we declare a float, like:
float a=2.7;
it gets stored in the memory as 2.700000 with specifically 6 digits only, after the decimal point. Why? (may be related to its format)
It's predefined in the compiler. This is probably the wrong sect. it shud go in s/w troubleshooting. :)
47shailesh
16-03-2007, 08:13 PM
Yes by default it is upto 6 point decimal...
But if you want it to 3 point decimal than use %.3f in the print statement to get result in upto 3 place of decimal
e.g.
printf("salary is %.3f\n", salary );
For in depth Knowledge read Dennis Ritche
mediator
16-03-2007, 08:50 PM
U can set any precision u want! Check my code
#include <iomanip.h>
#include <iostream.h>
int main()
{
int p;
cout<<"Mediator asked to enter precision u wanna set : "; cin>>p;
double x(3.14);
cout <<"x = "<<fixed <<setprecision(p)<<x<<'\n';
cout <<"x/3 = "<<fixed <<setprecision(p)<<(x/3)<<'\n';
return 0;
}
U can set any precision using setprecision! Don't try large numbers or ur terminal might hang! I tried "100000000000" as precision and had to kill the program then!! ;)
abhi_10_20
16-03-2007, 09:15 PM
thanks for your replies......
but still not satisfied somewhat...
i think it goes with the storage space reserved........like float requires 4 bytes
in a standard turbo c compiler.....and we need to do some 'masala munch' with these 4 bytes.....
The Unknown
17-03-2007, 11:58 AM
U can set any precision u want! Check my code
U can set any precision using setprecision! Don't try large numbers or ur terminal might hang! I tried "100000000000" as precision and had to kill the program then!! ;)
Buddy, abhi_10_20 is talking about C. Your code is C++! :)
mediator
17-03-2007, 02:14 PM
^^But his precise problem is about float!
The Unknown
17-03-2007, 02:16 PM
^^But his precise problem is about float!
ok. :)
abhi_10_20
17-03-2007, 03:46 PM
isn't setprecision() found in C ?
mediator
17-03-2007, 04:50 PM
setprecision is found from library "iomanip.h" and it doesn't matter if its c or c++ afaik!
The Unknown
17-03-2007, 06:38 PM
If you want a detailed manual on programming in C, see snip
i have uploaded it. :)
__________
After giving the captcha code, wait 30 secs. goto the bottom. when the downlaod now button gets activated, click it to download. Don't use any d/w manager. :)
__________
Was it useful? :)
abhi_10_20
17-03-2007, 09:19 PM
another c book into my kitty........
man...i can start a big library with my pdf's....
The Unknown
17-03-2007, 09:33 PM
another c book into my kitty........
man...i can start a big library with my pdf's....
Ha hA ha ha. :lol:
47shailesh
20-03-2007, 03:55 PM
If you want a detailed manual on programming in C, see snip
Same book i was talkin about..
in the pdf mentiontioned page number 22 gives the idea about your problem
abhi1301
20-03-2007, 04:11 PM
Ha hA ha ha. :lol:
Or u better start trusting the replies in here .. Shilesh is perfectly correct .. it's 6 point precision by default and u cannot do anything about it if u want the value just 1 or 2 places do it just like it's written .. change the precision of output wid
printf("salary is %.3f\n", salary );
being more clear this will print upto 3 places after decimal if u write
printf("salary is %.2f\n", salary );
this prints 2 values and so on ..
47shailesh
20-03-2007, 10:03 PM
snip
:shock: this book is "W. Kernighan and Dennis M. Ritchie" is it not a copyright voilation.. if so then remove the link please..
The Unknown
21-03-2007, 02:01 PM
:shock: this book is "W. Kernighan and Dennis M. Ritchie" is it not a copyright voilation.. if so then remove the link please..
I don't know. It was given to me by a frnd. :?:
vBulletin® v3.7.0, Copyright ©2000-2008, Jelsoft Enterprises Ltd.