This week's book giveaways are in the Refactoring and Agile forums.We're giving away four copies each of Re-engineering Legacy Software and Docker in Action and have the authors on-line!See this thread and this one for details.
Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!

# Bitwise Operators

Gautam Sewani
Ranch Hand
Posts: 93
I am having great trouble in understanding bitwise operators,does anyone know a good tutorial for it?

luis meira
Ranch Hand
Posts: 55
hi,
i think the best way to understand shift operators is to take a look at this code :
a << b
public static long
leftShift (int a, int b, typeLength ) {
double c= a*((b<typeLength-1)? pow(2,b):
pow(2,b%typeLength));
return (long) c;
}
a >> b
public static long
rightShift ( int a, int b, int typeLength ){
double c=(b<typeLength-1)? pow(2,b) :
pow(2,b%typeLength));
double d=a/c;
double result = floor(d);
return (long)result;
}
consider the parameter typeLength as the length
of the result variable.
so for : int a = 2<<4; // typelength = 32
long b = 2<<4 // typelength = 64
tell me something if you don't understand
best regards
Luis Meira

Gautam Sewani
Ranch Hand
Posts: 93
Hi Luis,
The only thing I can say about you is that you better not become a teacher

luis meira
Ranch Hand
Posts: 55
Originally posted by Gautam Sewani:
Hi Luis,
The only thing I can say about you is that you better not become a teacher

god would't be that bad.
now seriously what you don't understand ?

Mag Hoehme
Ranch Hand
Posts: 194
Hi luis,
what you've posted are ways to calculate the result of shiftings, which require some pondering.
However, for understanding bitwise operations I'd go the bit way.
Gautam, maybe this one will help you, too:
http://www.javaranch.com/campfire/StoryBits.jsp