Here are my thoughts

Before and after the decimal point a number is stored in the computer as
binary.

Before the decimal we have

2^0 = 1
2^1 = 2
2^2 = 4
2^3 = 8
2^4 = 16
2^5 = 32
2^6 = 64
2^7 = 128

After the decimal we have

2^-1 = 1/2  = .5
2^-2 = 1/4 = .25
2^-3 = 1/8 = .125
2^-4 = 1/16 = .0625
2^-5 = 1/32 = .03125
2^-6 = 1/64 = 0.015625
2^-7 = 1/128 = 0.0078125

How would the computer increment by a 10th? How is it represented in binary?







On Fri, Sep 5, 2008 at 1:17 AM, velsankar <[EMAIL PROTECTED]> wrote:

>
> A very basic problem, every one used to come across on our learning
> times itself (mostly overlooked & the result oriented attitude rather
> than why it is happening), still we have solution to avoid these.But
> anyone know why it is happening???? The problem is the following code
> only:
>
> for (float i = 10; i <= 11; i =i+ 0.1f)
>                Console.WriteLine(i);
>
> We will get answer as 10,10.0,....,10.9
>
> Look @ the condition: it's <= & not <. Obviously, 11.0 should come.
> Why it is not coming?
>
> When I asked my profs on my college days(even seniors, expd's), they
> advised to use double. Of course, its a solution to get 11.0. But what
> happened to float? Is the float not precise???? For some days(truly in
> years), I believed it might be memory issue. Because when  we see the
> entire 32 bytes of the increment float value, it is not increasing
> 0.10000000000.... but 0.10000010000 (The value is not constant, It can
> be in any one of the 256 bits). Recently I tested with fresh(means the
> first application to run after installed the windows embedded xp os)
> thin client. Shocked!!!! The end result is same:(
>
> Is it Really a memory problem? If so, how can we identify better than
> test as first application after os installed. Or the way I looking the
> problem???. And more it is not the language issue. Its starts with c
> only. Tested with c++, java also. I want to know the reason. Please
> don't suggest to use double, if so why it is happening with float &
> not with double???
>
> Think, its not looks like advanced level programming, But the issue @
> core, fundamentals, how far we are understanding our process. Hope I
> will get the genuine cause.
>
> >
>


-- 
Charles A. Lopez
[EMAIL PROTECTED]

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"DotNetDevelopment, VB.NET, C# .NET, ADO.NET, ASP.NET, XML, XML Web 
Services,.NET Remoting" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://cm.megasolutions.net/forums/default.aspx
-~----------~----~----~----~------~----~------~--~---

Reply via email to