 # A certain value "0010 0110", is this really a byte?

It is said that a byte has 256 different values.

For example, let’s say that I have this certain value, “0010 0110” among the 256 different values. Then isn’t that certain value “a bit”? Because "it is a chosen “single value” among the 256 different possibilities, which is a byte?

In the 70s and 80s the most common small computer was typically 8-bit, the storage allocation unit given to data. That is the basis for the BYTE unit. It is also sufficient for mapping out 256 memory locations, called blocks. We can map 256 blocks in much the same way for a total of 64 KiloBytes of mappable memory in an 8-bit environment. This became 512 KB with the help of a three-bit register that could map eight 64 KB blocks.

2 Likes

It is said that a byte has 256 different values.

For example, let’s say that I have this certain value, “0010 0110” among the 256 different values. Then isn’t that certain value “a bit”? Because "it is a chosen “single value” among the 256 different possibilities, which is a byte?

A “bit” is a binary integer, so it may have a value of either `0` or `1` because these are the only single-digit integers which exist in a base-2 numerical system.

A “byte” is a group of 8 bits: `00100110`, to borrow your example, is a byte. It is an 8-bit value; the fact that it’s a discrete value of the 256 possible does not make it a bit.

2 Likes

Consider,

``````7  6  5  4  3  2  1  0  <=  degree on base 2
1  1  1  1  1  1  1  1
\                  /
high              low
order            order
bit              bit
``````

Each bit position moving from low to high is representative of an increasing power of two.

``````128 64 32 16 8 4 2 1
2^7               2^0
``````

There are 255 values and zero for 256 possible configurations of sums.

``````128 + 64 + 32 + 16 + 8 + 4 + 2 + 1  =>  255
``````

Now let’s apply this to your number, `00100110`

``````      5        2  1       <=  degree
0  0  1  0  0  1  1  0
.  .  32 .  .  4  2  .

32 + 4 + 2  =>  38``````
2 Likes

Another type of answer that goes to the original question, with the proviso that no leading zeros are included in binary representations, when written, is that a byte is eight bits. If we are given eight bits then we have a byte. We cannot reject the leading zeros if we’re representing a byte, but it puts the reader at a disadvantage if all we want to represent is the integer.

``````>>> 0b00100110
38
>>> 0b100110
38
>>>
``````

I mean, what do those leading 0s represent? It’s moot at this point.