Bit shifting and bitwise operators

  • Thread starter Thread starter fsbadr
  • Start date Start date
  • Tags Tags
    Bit Operators
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
1 reply · 3K views
fsbadr
Messages
16
Reaction score
0

Homework Statement


folks,

I have a small problem understanding a function as to what its doing:

I have run this program in C++. I will comment the lines of code as per my understanding. Your insight would be useful

unsigned int myfunc(unsigned int n)
{
// for n here I took 1200

unsigned int temp =
//logical shift done here as it is unsigned, division for 1200 came to 0 as it was rounded
(n >> 24) |

// logical shift as well, logical and operation with hex value, result is 262144
((n << 8) & 0x00FF0000) |

// logical shift as well, logical and operation with hex value, came to 0 as it is rounded
((n >> 8) & 0x0000FF00) |

// computes to 2952790016
(n << 24);

//temp is then the sum of all operations which in this case is 0 + 262144 + 0 + 2952790016 totaling 2953052160.
return temp;

the value returned is the sum of all operations.

}

thanks for your help.

Homework Equations



This is a real world scenario function, what is it doing?

The Attempt at a Solution



In part (a), I have put in my findings at attempting the solution.
 
Physics news on Phys.org
You will see what it is doing much easier if you express the input and output in hexadecimal rather than decimal format.