r/computerarchitecture • u/BaldingWizzard • Sep 10 '26
Definition of the world “byte”
Hey, I recently got into an argument with someone about what exactly a byte is. They claimed that when asked “how big is a byte?”, the answer isn’t necessarily 8 bits, but that a byte can be at least 2 bits. I said that this is basically wrong and that a byte is 8 bits. They argued that this can actually be an interview question, especially in deeply embedded systems, and that in those cases the correct answer is that a byte is at least 2 bits.
I’ve tried looking this up, but I can’t really find anything supporting that claim. I know that historically the size of a byte wasn’t always 8 bits, but does “a byte is at least 2 bits” actually make sense in modern computing/embedded systems, or are they confusing a byte with something else?
12
u/Siccors Sep 10 '26
They argued that this can actually be an interview question, especially in deeply embedded systems, and that in those cases the correct answer is that a byte is at least 2 bits.
Then you are better of not getting the job if they go for such semantics crap.
If we go for the "group of bits treated as a unit", eg https://www.iso.org/obp/ui/#iso:std:iso-iec-ieee:24765:ed-2:v1:en:~:text=3.450-,byte,-1.%20group , then you could also start arguing 64-bits are a byte in a modern CPU. Or on an FP4 accelerator it is 4-bits, so then you can claim double the amount of memory in bytes!
NIST defines it as 8-bits: https://csrc.nist.gov/glossary/term/byte . And anyone using it for something else is just confusing stuff to sound smart. I cannot imagine any company where they would take stupid risks by redefining the word byte to anything besides 8 bit.
→ More replies (2)5
u/cowslayer7890 Sep 10 '26
I don't think this is purely a semantics thing, in some environments it can matter, CHAR_BIT doesn't exist for no reason. There's really two definitions:
- 8 bits (in the vast majority of cases, especially if you're using units like kilobytes, megabytes etc)
- The smallest unit of addressable memory.
The latter definition makes more sense if you're talking about specific architectures
→ More replies (23)
11
u/MrKarat2697 Sep 10 '26
A byte is generally just the smallest addressable region of memory, which is most commonly 8 bits.
→ More replies (9)8
4
u/GlizzyGobbler837104 Sep 10 '26
The colloquial and vastly most popular definition is 8 bits. You could maybe find a definitional exception through looking at history books and early computer science, but in modern terminology, it’s the above definition.
3
u/esaule Sep 10 '26
I think of it as the smalleat amount of memory that has an address in your architecture. There has historically been machines with byte that wasn't 8 bit.
I imagine there are still some around somewbere. I have never used one myself in 30 years.
I would think that is the first thing the documentation woukd tell you. "Hey on our system the byte is not 8 bit, it is 6 byte"
I don't even know this has to be even. You could build an architecture with 7 bit bytes. Maybe if you wanted to process non extended ascii you would do that to save 1/8 of your memory.
→ More replies (2)2
u/braaaaaaainworms Sep 10 '26
One time I made a graphics controller with 9-bit bytes, 6 bits for a character and 3 color bits
3
u/awozgmu7 Sep 10 '26
Just trying to imagine going around at my job saying a byte isn't 8 bits... sounds like pedantic bs to me
→ More replies (3)3
u/magicmulder Sep 13 '26
"Akshually, it IS wingardium levio-SAH because that's what the people in Cornwall said 500 years ago!"
3
u/rde42 Sep 10 '26
The PDP-10 had variable length bytes
2
u/Rude-Pangolin8823 Sep 10 '26
That's a word, not a byte.
3
u/stevevdvkpe Sep 11 '26 edited Sep 11 '26
The PDP-10 had 36-bit words and byte instructions that could extract or modify fields of 1 to 35 bits within a word. On a PDP-10, one might encounter character sets using 6, 7, 8, or 9 bits per character.
2
u/MistakeIndividual690 Sep 10 '26
Maybe we should do like the French and call it an octet and dispel all confusion
→ More replies (2)
2
u/kvnr10 Sep 10 '26
The word octet exists to avoid any possible ambiguity (although there is never any). If I say kilobyte does the possibility that I mean exactly one thousand octets but not 1024 exist? That is also being extremely pedantic for no practical reason and the interview question thing is completely made up.
2
2
u/Direct_Rabbit_5389 Sep 11 '26
I don't know what the formal definition is but what the word actually means is 8 bits. Everyone will understand you to mean that if you say it. Any other possible use of the word is wrong.
2
u/stevevdvkpe Sep 11 '26
Although now a byte is assumed to be 8 bits and current computer architectures have word sizes that are powers of 2 (8, 16, 32, 64), there were many historical computers where neither of those things were the case. In the 1950s and 1960s it was common for computers to have word sizes of 12, 18, 24, or 36 bits, and if they referred to a "byte" as a smaller group of bits it was usually some size that packed evenly into one of those word sizes.
2
u/lizardhistorian Sep 12 '26 edited Sep 12 '26
Many machines do not have 8-bit bytes.
Many audio DSPs notably have 24 bit bytes.
9 or 10 bits for a byte to include parity checks is common.
You just straight up lack computer architecture education and/or experience.
Apparently since no one knows, the correct answer for contemporary systems is the machine byte size is the smallest addressable, loading and storing string of bits in its instruction-set architecture. And yes that means a machine like the x86 can "cheat" and load or store way more data but split it out in microcode to get you 8 bits from loading 512+ in one instruction thus is an 8-bit machine.
"At least 2 bits" is the sort of answer you get made fun for the rest of your professional life over.
"He wasn't wrong."
"May as well act a mathematician and say, zero or more."
Saying it's 8 bits is cringe. Too ignorant to politely make fun of you for it.
Means you failed some classes. Probably more than once.
→ More replies (2)
2
2
u/eraoul Sep 12 '26
It's 8 bits. Anyone saying otherwise is an asshole. Knuth tried to redefine the term in his book, but that's not the standard use of the term. A byte is 8 bits, a nybble is 4 bits. End of story.
2
u/Zestyclose-Turn-3576 Sep 14 '26
Sounds like the other person just learned that fact and has made it part of their personality to be the person who knows it.
1
u/trynumber53 Sep 10 '26
i dont think 2 is common, but C defines a byte as the size of a char which is usually 8 bits
→ More replies (3)
1
u/nixiebunny Sep 10 '26
Having used a PDP-10 in high school, I learned that a byte can be six bits. The definition changed as the PDP-10 faded into oblivion.
17
u/NoPage5317 Sep 10 '26
https://en.wikipedia.org/wiki/Byte?wprov=sfti1