Bit shifting and bitwise operators

  • Thread starter Thread starter fsbadr
  • Start date Start date
  • Tags Tags
    Bit Operators
AI Thread Summary
The function in question performs a series of bitwise operations on an unsigned integer input, specifically 1200. It uses logical shifts and bitwise AND with hexadecimal values to manipulate the bits of the input. The operations include shifting the input right and left, combining results with bitwise OR, and ultimately summing these results. The final output is a transformed value, which in this case totals 2953052160. Expressing the input and output in hexadecimal can clarify the function's behavior and results.
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.
 

Similar threads

Back
Top