Status
Not open for further replies.

abhi_10_20

Cool and Calm
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)
 

nileshgr

Wise Old Owl
abhi_10_20 said:
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

Security Exp
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

Technomancer
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!! ;)
 
OP
abhi_10_20

abhi_10_20

Cool and Calm
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.....
 
Last edited:

nileshgr

Wise Old Owl
mediator said:
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++! :)
 

nileshgr

Wise Old Owl
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? :)
 
Last edited by a moderator:

47shailesh

Security Exp
The Unknown said:
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
 
Last edited by a moderator:

abhi1301

gEttIn 0uT@@@ BOXX
The Unknown said:
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

Security Exp
The Unknown said:

:shock: this book is "W. Kernighan and Dennis M. Ritchie" is it not a copyright voilation.. if so then remove the link please..
 
Last edited by a moderator:

nileshgr

Wise Old Owl
47shailesh said:
: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. :?:
 
Status
Not open for further replies.
Top Bottom