Where did the octal/hex notations come from?

After all of this time, I've never thought to ask this question; I understand this came from c++, but what was the reasoning behind it: Specify decimal numbers as you normally would Specify octal