You can convert 1000 to hex and see how many digits that requires:
![1000_(10)=(3\cdot16^2+14\cdot16+8)_(10)=3\mathrm e8_(16)](https://img.qammunity.org/2019/formulas/mathematics/college/ouawhbxpcltgl0d9mmb5hqliagom0a9veb.png)
So every integer below 1000 needs up to 3 digits.
Alternatively, we know that
![16^2=256<1000<4096=16^3](https://img.qammunity.org/2019/formulas/mathematics/college/ihg3prejcfjgdedcfo0ek84ya24xzzhxns.png)
, and that
![16^n](https://img.qammunity.org/2019/formulas/mathematics/college/wrr6tzvjmnwg7uaknnmrzrmbxywie1fhlu.png)
requires
![n+1](https://img.qammunity.org/2019/formulas/mathematics/college/q5yyr4v96yc9l513ahwfn09novmw28ynij.png)
digits in its hex representation (e.g.
![16_(10)=10_(16)](https://img.qammunity.org/2019/formulas/mathematics/college/s17xpvup3mfrg67fb307smpnp11h0913s0.png)
). Taking the logarithm, we get
![\log_(16)16^2=2](https://img.qammunity.org/2019/formulas/mathematics/college/60qkgon00qv6306b7sjsxq6w0vhj0zwhrt.png)
, and adding 1 gives the number of digits needed to represent
![16^2](https://img.qammunity.org/2019/formulas/mathematics/college/toz1ef2bw6tgxg69tf15i45ufekclwrr7u.png)
. Similarly,
![\lfloor\log_(16)1000\rfloor+1=3](https://img.qammunity.org/2019/formulas/mathematics/college/76kiypy5j3lbn85382cbauoc0uvgwo84en.png)