Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP 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