8.3 Practice: binary shifts