D - Is this is intentional (or a bug)? (1/3 equals 0)
- SL <shadowlord13 users.sourceforge.net> Mar 26 2004
- Ilya Minkov <minkov cs.tum.edu> Mar 26 2004
- Stewart Gordon <smjg_1998 yahoo.com> Mar 26 2004
Basically, I wrote this out:
radius=pow((volume*3)/(4*PI),1/3);
And radius was coming out to 1 every time. So I made a printf to show
various parts of that.
printf("PI=%.*s volume=%.*s (volume*3)/(4*PI)=%.*s radius=%.*s\n",
.toString(PI), .toString(volume), .toString((volume*3)/(4*PI)),
.toString(radius));
PI=3.14159 volume=71.1094 (volume*3)/(4*PI)=16.9761 radius=1
And then I did this:
printf("1/3=%.*s",.toString(1/3));
And got:
1/3=0
I suppose this is intentional (Since both numbers are integers)?
P.S. I have changed it to 1/3.0, which works, but does not look like a
proper fraction :P.
-SL
Mar 26 2004
It is a C-ism. Due to lack of proper beginners' books on D, it is very advantageous to learn some of C before going to D. Also, everything which works the same way as in C or C++ has been left out of the documentation. -eye SL schrieb:Basically, I wrote this out: radius=pow((volume*3)/(4*PI),1/3); And radius was coming out to 1 every time. So I made a printf to show various parts of that. printf("PI=%.*s volume=%.*s (volume*3)/(4*PI)=%.*s radius=%.*s\n", .toString(PI), .toString(volume), .toString((volume*3)/(4*PI)), .toString(radius)); PI=3.14159 volume=71.1094 (volume*3)/(4*PI)=16.9761 radius=1 And then I did this: printf("1/3=%.*s",.toString(1/3)); And got: 1/3=0 I suppose this is intentional (Since both numbers are integers)? P.S. I have changed it to 1/3.0, which works, but does not look like a proper fraction :P. -SL
Mar 26 2004
SL wrote: <snip>And got: 1/3=0 I suppose this is intentional (Since both numbers are integers)?
I think so.P.S. I have changed it to 1/3.0, which works, but does not look like a proper fraction :P. -SL
Does cast(real) 1/3 look more like it to you? Stewart. -- My e-mail is valid but not my primary mailbox, aside from its being the unfortunate victim of intensive mail-bombing at the moment. Please keep replies on the 'group where everyone may benefit.
Mar 26 2004









Ilya Minkov <minkov cs.tum.edu> 