((i & 1) == 1)

  • Thread starter Thread starter joso
  • Start date Start date
J

joso

public static bool isodd(int i)
{
return ((i & 1) == 1);
}

can someone explain me how this is working
 
An integer is a basic type having a number of binary bits.

Depending on your processer architecture this might be 32 or 64 bits.

The binary and (&) operator performs a bitwise "AND" operation on the
integer which effectively removes all but the least significant bit of the
integer. This may be 1 or 0 depending on the value.

In the case that it is indeed 1, the number is odd.

Hope this was easily understood.

--
Bob Powell [MVP]
Visual C#, System.Drawing

Ramuseco Limited .NET consulting
http://www.ramuseco.com

Find great Windows Forms articles in Windows Forms Tips and Tricks
http://www.bobpowell.net/tipstricks.htm

Answer those GDI+ questions with the GDI+ FAQ
http://www.bobpowell.net/faqmain.htm

All new articles provide code in C# and VB.NET.
Subscribe to the RSS feeds provided and never miss a new article.
 
Bob said:
An integer is a basic type having a number of binary bits.

Depending on your processer architecture this might be 32 or 64 bits.

In C# an int is always 32 bit.

Arne
 
Arne Vajhøj said:
In C# an int is always 32 bit.

Arne
He didn't write 'int' but 'integer'. An integer is a mathematical concept,
an int in C# is an alias for a System.Int32 which is an integer represented
in the architecture as 32 bits as opposed to an Int64.
 
Joe said:
He didn't write 'int' but 'integer'. An integer is a mathematical
concept, an int in C# is an alias for a System.Int32 which is an integer
represented in the architecture as 32 bits as opposed to an Int64.

How do you think that he think about integer as a mathematical type
when he write "An integer is a basic type having a number of binary
bits" ?

Besides it would be even worse if it were the case. Believing that
a mathematical concept depends on processor architecture to be
either 32 or 64 bit.

Arne
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top