title: right shift arithmetic and hexadecimal numbers
body: <pre><code>set 0x8675309F, %o1
  sra %o1, 16, %o1
  </code></pre>
  
  <p>can someone please explain what sra is supposed to do here, i know it is the right shift arithmetic but what does it do in this instruction exactly. also i know how to convert hex numbers to decimal and from decimal to binary but is there a simpler way to do logic gate operations on hex numbers? like for example if i want to AND or OR or XOR two hex numbers, how would i go about doing that? i know how its done with binary, but is there a way to do that with hex or do you need to convert to binary and then do the logic gate operations on the said binary number? </p>
  
  <p>here is my attempt: the answer will be 0x8675, so this is what i did (not sure if this is right) i converted the hex number to a decimal then from the decimal to binary, this is where i did the right shift operation shifting right by 16 places (or adding 16 zeros to the front of the binary number), then i converted to hex again. the problem is that to convert back to hex i had to use an online converter and to convert from decimal to binary i also used a converter (since the number is very large), the problem is that on an examination of any type i will not be able to use online converters, so what is the technique for the fastest way to solve such a problem?</p>
  
  <p>what about doing an logical gate AND or XOR operation on hex numbers, would i have to convert to binary or can i preform the logic gate operation on the hex numbers in anyway?</p>