Win a copy of Microservices in Action this week in the Web Services forum!
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
• Campbell Ritchie
• Bear Bibeault
• Devaka Cooray
• Liutauras Vilda
• Jeanne Boyarsky
Sheriffs:
• Knute Snortum
• Junilu Lacar
• paul wheaton
Saloon Keepers:
• Ganesh Patekar
• Frits Walraven
• Tim Moores
• Ron McLeod
• Carey Brown
Bartenders:
• Stephan van Hulst
• salvin francis
• Tim Holloway

# unsigned right shift

Ranch Hand
Posts: 91
hi. this is a loaded qustion:
what is a "most significant bit"? least sig bit?
what does is meant when u say "unsigned"?
plese give examples of binay arithmetic involving the above .
thanks

Greenhorn
Posts: 7
HI,
The left-most bit is the sign bit. If the left most bit is 1 then the number is negative else the number is positive.
This left-most bit is the most significant bit.
The right-most bit is the least significant bit.
An un-signed operator >>> means that the most significant bit is always to be filled by 0's.
1111 1010 // and you want to know the value
1. Flip the bits
0000 0101
0000 0101
+
0000 0001
------------
0000 0110 // this is 6, so the value was -6.
Another shortcut:
start from the rightmost bit(least significant bit).
Just copy everything until you see first "1".Then flip the remaining bits.
The same eg:1111 1010
result:0000 0110

For more examples on shifting refer to RHE book.It has real good examples.

------------------
Cheers,
Deepa

mansoor iqbal
Ranch Hand
Posts: 91
thanks deepa. BUT...i thought to find the value u did the following:
1111 0110
---------
7654 3210
=1*2^7+1*2^6+1*2^5+1*2^4+0*2^3 ... and so on......this is surely not 6??

mansoor iqbal
Ranch Hand
Posts: 91
ok..i have it.....ignore my last question...duh!

Ranch Hand
Posts: 63
Hi Deepa,
Can you please help me out with procedure for evaluating the expression "5 >>> 4" using full 32 bit represention of the int.
I come up to converting decimal 5 to its binary ie 101 after this how this is put in the for of 32 bit int and the make shift of bits.
Also let me know how to convert say -5 to decimal !! please give both least significant bits and complete 32 bit representation.
Shrinivas

mansoor iqbal
Ranch Hand
Posts: 91
5>>>4
8421
--------|--------|--------|--------|
00000000 00000000 00000000 00000101
shifting this 4 places to the right wd clearly imply that there are all zeros .. thus the final value after the shift is 0

Greenhorn
Posts: 9
Hi everyone
Let me tell you one more trick with shifting
you can quickly multiply and divide numbers by a value of 2 i.e.
when you shift left you are multiplying by 2
and vice versa when shifitng right but remember the sign is preserved in case of division i.e. right shift

Ranch Hand
Posts: 100
Hi all,
How do you convert a binary number into Hexadecimal and Octal ??
Could someone Please give me a couple of Examples ?

Ranch Hand
Posts: 3141
Hi Zahid,
I have some notes on Binary/Octal/Decimal/Hexidecimal conversions posted at http://www.janeg.ca/scjp/oper/binhex.html ;
Hope they help.
------------------
Jane Griscti
Sun Certified Programmer for the Javaï¿½ 2 Platform

Zahid, Butt
Ranch Hand
Posts: 100
Thanks Jane.
The site is very Useful.

 It is sorta covered in the JavaRanch Style Guide.