Hacker News new | past | comments | ask | show | jobs | submit login

Because it refers to the number of digits in the system.

Base 10 comprises ten digits, viz. count(0, 1, 2, 3, … 9) = 10z

Base 2 is count(0, 1) = 2

Base 16 (hexadecimal) is count(0, 1, 2, 3, … 9, a, b, … f) = 16




But your counts are all using base 10! If we were to count the number of digits in binary using binary, we would get 10 digits. If we were to count the number of digits in hexadecimal in hexadecimal, we would still get 10 digits. This is true for all bases.


Changing the representation doesn't change the number. Ten, two, sixteen...


Try this:

Base 10 is count(0, 1, 2, 3… 9) = ||||||||||

Base 16 is count(0, 1, 2,… a, b, …f) = ||||||||||||||||


Straight and true.

The other view is fine too: Base-9 would mean "max number is 9".


The base b is actually the multiplier for the value in each digit: the first digit is b^0, the next to the left is b^1, the next left is b^2. Similar for right of the dot: b^-1, b^-2....




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: