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.
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.
"Arne Vajhøj" <arne@vajhoej.d kwrote in message
news:486436bf$0 $90270$14726298 @news.sunsite.d k...
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.
"Arne Vajhøj" <arne@vajhoej.d kwrote in message
news:486436bf$0 $90270$14726298 @news.sunsite.d k...
>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.
Comment