A past puzzle — fully playable. 4 attempts, hints on wrong guesses.
stdle-135.c
1#include<stdio.h>
2intmain(void){
3unsignedx=40;
4printf("%u %u\n",x/8,x>>3);
5return0;
6}
Numbers
Answer & explanation
Console output
5 5
Why
For unsigned (non-negative) values, dividing by 2^k is identical to a right shift by k bits: 40 / 8 == 5 and 40 >> 3 == 5. The shift fills with zeros and never rounds toward negative infinity because the value is non-negative, so the equivalence is exact.