Computers rely on multiple numbering systems—binary, decimal, hexadecimal, and octal—each suited to specific technical tasks. Understanding when and why each system is used is foundational knowledge for working in IT and cybersecurity.
Numbering Systems in Computing
Why do we use different numbering systems when it comes to computers? Let's go over the common numbering systems that we use on computers and why we use them.
One of the reasons gets back to those powers of two. We want to represent different characters, we want to represent graphics, we want to represent different things on our computers, and so to represent that we need to have a certain amount of representation. For instance, if we needed to represent four different states, we'd use 2 to the power of two. Let's say we wanted to represent 16 different states — well, that would be 2 to the 4th power, so we would use four bits to represent 16 different combinations. If we wanted to represent 64, that would be 2 to the 6th, or we'd have six bits. If we wanted to represent 256, then we would have eight bits for that.
One of these numbers that seems to fit really well in a lot of different scenarios is this 256 possibilities, or eight bits that we have here. We've labeled it as being a byte of information, and we use it as a form of measurement for a lot of different things. So that's a byte. But that's not the only one. If we were to use a full byte for everything, it might not always make sense, so sometimes we use half that: we use four bits, which is 16 possibilities, and we call that a nibble.
So a bit is either a one or a zero. A nibble is four of those. A byte is eight of those, or it could be considered as two nibbles, and we also actually call this an octet at times.
One question that comes up is, why would we want to use decimal versus why would we want to use binary, and why would we want to use hexadecimal, or why would we want to use octal?
Let's first answer the question, why decimal? The answer to that is pretty straightforward: it's what we're used to using. In decimal format, this is much easier to read than a binary number. For a binary I'd have to say 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 and so on and so forth, and it would get really monotonous, really quite crazy. So it's much easier to say 192.168 4045 — also, this is an IP address, so it's a little easier to say than hexadecimal or octal format.
If decimal is easier for us, why would we ever want to use binary? The thing is, there are times when binary is just necessary. For instance, when we're subnetting a range, we have to really get down into the bits and what the bits look like. So it really is a requirement that we understand binary and can work with binary.
So then the question is, why would we want to use hex? The reason is because translating from decimal to binary is not always the easiest, and we can do it much easier with hex. If we take a look at an example of this, it would be IP version 6. IP version 6 is a hex number, and that looks much better than if we were to do the binary equivalent, or the decimal equivalent is a little crazy there.
From the conversion standpoint, since we do have to work a lot with binary numbers, it's just a lot easier to convert a binary number into hexadecimal rather than decimal. The reason for that is because here's eight bits right here. We've got eight bits of information, we just split it down into two nibbles here, and then we convert each nibble into a hex number. So it can be actually fairly simplistic for this conversion.
Why would we use octal? One of the ways that we use octal is when it comes to file permissions in Unix or Linux systems. Here we have the user, the group, and for each one of those we have read, write and execute. These are levels of permissions for each one of these: the user, the group, and for everyone else. What we do is we set a flag, we turn on read, write or execute for each one of these — the user, group and other — and we represent that for the computer. In the computer it's represented as a binary number.
If we wanted to represent this in something other than binary, we could use hexadecimal, but what we're doing is we're splitting this like this. We've got a nibble here, we've got a nibble here, and then we've got this last little bit, and it just doesn't fit very nicely in here. So that's an example where we use the octal system.
What we have here is, if we add up these bits, the four bit, the two and the one are all turned on, so that's seven. And here right here we've got a one and a one, so that would be a five. And here we've got a 0, 0, 0, so that would be a zero. So then this 750 number represents the permissions that we're giving to each one of these.
We're going to see decimals, binaries and hexadecimals come up quite a bit, and octal we'll see out there as well.
TechKnowSurge builds IT and cybersecurity professionals through hands-on, concept-first training built around real understanding — not memorization. Free interactive tools, structured programs, and 25+ years of real-world experience, all in one place.
Explore free tools and programs →