←back to thread

288 points Twirrim | 1 comments | | HN request time: 0.207s | source
Show context
donatj ◴[] No.41875031[source]
So please do excuse my ignorance, but is there a "logic" related reason other than hardware cost limitations ala "8 was cheaper than 10 for the same number of memory addresses" that bytes are 8 bits instead of 10? Genuinely curious, as a high-level dev of twenty years, I don't know why 8 was selected.

To my naive eye, It seems like moving to 10 bits per byte would be both logical and make learning the trade just a little bit easier?

replies(6): >>41875041 #>>41875052 #>>41875110 #>>41875147 #>>41875204 #>>41875211 #
wvenable ◴[] No.41875052[source]
I'm not sure why you think being able to store values from -512 to +511 is more logical than -128 to +127?
replies(1): >>41875059 #
donatj ◴[] No.41875059[source]
Buckets of 10 seem more regular to beings with 10 fingers that can be up or down?
replies(3): >>41875079 #>>41876677 #>>41877245 #
1. atq2119 ◴[] No.41876677[source]
Computers are not beings with 10 fingers that can be up or down.

Powers of two are more natural in a binary computer. Then add the fact that 8 is the smallest power of two that allows you to fit the Latin alphabet plus most common symbols as a character encoding.

We're all about building towers of abstractions. It does make sense to aim for designs that are natural for humans when you're closer to the top of the stack. Bytes are fairly low down the stack, so it makes more sense for them to be natural to computers.