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!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Bitwise Operators

 
Gautam Sewani
Ranch Hand
Posts: 93
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I am having great trouble in understanding bitwise operators,does anyone know a good tutorial for it?
 
luis meira
Ranch Hand
Posts: 55
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Luis,
The only thing I can say about you is that you better not become a teacher
 
luis meira
Ranch Hand
Posts: 55
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic