By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
455,458 Members | 1,463 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 455,458 IT Pros & Developers. It's quick & easy.

((i & 1) == 1)

P: n/a
public static bool isodd(int i)
{
return ((i & 1) == 1);
}

can someone explain me how this is working
Jun 27 '08 #1
Share this Question
Share on Google+
5 Replies


P: n/a
On 2008-06-26, joso <jo**@hi.t-com.hrwrote:
public static bool isodd(int i)
{
return ((i & 1) == 1);
}

can someone explain me how this is working
It's a simple test for oddness on an integer value. Any integer value that is
odd will have a one in the ones column... So, the result of a bitwise and of
any integer value and one, can tell you if it is odd or not.

1111 & 0001 = 1
0111 & 0001 = 1
0100 & 0001 = 0
1110 & 0001 = 0

--
Tom Shelton
Jun 27 '08 #2

P: n/a
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.

"joso" <jo**@hi.t-com.hrwrote in message
news:g4**********@ss408.t-com.hr...
public static bool isodd(int i)
{
return ((i & 1) == 1);
}

can someone explain me how this is working
Jun 27 '08 #3

P: n/a
Bob Powell [MVP] wrote:
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
Jun 27 '08 #4

P: n/a


"Arne Vajhøj" <ar**@vajhoej.dkwrote in message
news:48***********************@news.sunsite.dk...
Bob Powell [MVP] wrote:
>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
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 Fawcett (MVP - XML)
http://joe.fawcett.name

Jun 27 '08 #5

P: n/a
Joe Fawcett wrote:
"Arne Vajhøj" <ar**@vajhoej.dkwrote in message
news:48***********************@news.sunsite.dk...
>Bob Powell [MVP] wrote:
>>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.
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
Jun 27 '08 #6

This discussion thread is closed

Replies have been disabled for this discussion.