https://towardsdatascience.com/math-for-programmers-considerations-from-decimal-to-binary-10a21ab980ee