I checked if the user input was negative. If so, use "Two's Complement" to change the binary negative to positive, shift 3 right, then use "Two's Complement" to change it back to negative. This may be cheating, but it worked easily.

Code:

shiftTemp = userNum;
// "Two's Complement" converts negative binary to positive by using bitwise NOT then adding one.
shiftTemp = ~shiftTemp + 1;
// Divides binary by 8. This drops remainder.
shiftTemp = shiftTemp >>= 3;
// "Two's Complement" converts positive binary to negative by using bitwise NOT then adding one.
shiftTemp = ~shiftTemp + 1;
// Multiply shiftTemp by 8 to get pre shift user number less the remaider
// then subtract this from original number to get remainder.
remainder = (userNum - (shiftTemp * 8));