This week's book giveaway is in the OCAJP 8 forum.We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line!See this thread for details.
Big Moose Saloon
 Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies Register / Login Win a copy of OCA Java SE 8 Programmer I Study Guide this week in the OCAJP 8 forum!

# Bitwise Operators

Gautam Sewani
Ranch Hand

Joined: Apr 19, 2002
Posts: 93
I am having great trouble in understanding bitwise operators,does anyone know a good tutorial for it?
luis meira
Ranch Hand

Joined: Apr 18, 2002
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

Joined: Apr 19, 2002
Posts: 93
Hi Luis,
The only thing I can say about you is that you better not become a teacher
luis meira
Ranch Hand

Joined: Apr 18, 2002
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

Joined: Apr 07, 2002
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

Mag

I agree. Here's the link: http://aspose.com/file-tools

subject: Bitwise Operators