I'm not saying this is overly difficult or anything to that effect, but I found myself faced with the following problem: extract the low and high dwords from a 64-bit variable and display them. A simple problem, but it took me a while to find out (the hard way) that the Visual Studio native visualizer doesn't support any bitwise operations other than right shift.
After a few minutes of tinkering I came up with a straightforward solution, but now I'm wondering how many ways there are to do this.
So, to recap, given the 64-bit sample value "515396075660", extract the low and and high dwords using a combination of only RSH (>>) and any non-bitwise operators except for modulo.
Points go to how few different operator types you need. I needed three, but I cheated at least one.
[spoiler]
w = val - ((val >> 32) * 4294967296), where 4294967296 = (1 << 32)
h = val >> 32
[/spoiler]