I have had an interview where both the (x * 8) and (x << 3) would have been frowned upon, for using a "magic number".
static const int eight = 8;
x * eight;
Sometimes magic numbers are just that - numbers. Adding constant definitions is often a good thing, but sometimes just adds noise. static const int days_per_week = 8;
:-).