Live data from Hacker News

We'd be better off with 9-bit bytes

pavpanchekha.com

211–220 of 359 posts

Re: We'd be better off with 9-bit bytes

#211
post #144

Earlier quoted context omitted.

Plato argued that 7! was the ideal number of citizens in a city because it was a highly factorable number. Being able to cut numbers up is an time-tested favorite. That's why there are 360 degrees.

And many of the conversions between metric and imperial align with the Fibonacci sequence on any order of magnitude. 130km/h is roughly 80mph simply because the fibo sequence has 8 and 13. Obviously not an emergent property but shows how these things were designed.

It wasn’t designed with British miles in mind.

https://en.m.wikipedia.org/wiki/History_of_the_metre

https://en.m.wikipedia.org/wiki/Arc_measurement_of_Delambre_...

Re: We'd be better off with 9-bit bytes

#212

Non-power-of-2 sizes are awkward from a hardware perspective. A lot of designs for e.g. optimized multipliers depend on the operands being divisible into halves; that doesn't work with units of 9 bits. It's also nice to be able to describe a bit position using a fixed number of bits (e.g. 0-7 in 3 bits, 0-31 in 5 bits, 0-63 in 6 bits), e.g. to represent a number of bitwise shift operations, or to select a bit from a…

Don't those issues only apply to odd number of bits, rather than non-power-of-2? For example, 12 isn't a power of 2 but doesn't suffer from any of those things you mentioned.

Re: We'd be better off with 9-bit bytes

#213

Earlier quoted context omitted.

If each memory address mapped to a CPU word sized value, that would make sense, and that is closer to the reality of instructions reading a word of memory at a time. Instead of using the CPU word size as the smallest addressable value, or the smallest possible value (a bit) as the smallest addressable value, we use a byte. It's an arbitrary grouping, and worse, it's rarely useful to think in terms of it. If you are o…

There was a time, however, where CPUs operated almost exclusively on on 8bit bytes (and had 8bit data buses). Everything else is merely the consequence of that.

Quick note that this isn't true. 8-bit CPUs are newer than 36-bit CPUs, and 8-bit bytes were established long before 8-bit CPUs came on the scene. Prior to the mid-70s most machines were word-addressed. The adoption of byte addressing (the subject of the grandparent) gained traction after C and similar languages became popular. C was developed on the pdp-11 which supported byte addressing and it provided a compatible memory model: any pointer value could be de-referenced to a byte. The VAX followed, also with byte addressing and by 1980 you couldn't sell a CPU that didn't support byte addressing (because C wouldn't work with it). 8-bit CPUs had nothing to do with any of this.

Re: We'd be better off with 9-bit bytes

#214
post #90

Earlier quoted context omitted.

It already exists: True, False and FileNotFound. If you don't believe me, just ask Paula Bean.

Paula Bean? Mr Bean photoshopped? https://scontent-lax3-2.xx.fbcdn.net/v/t39.30808-6/476277134...

https://thedailywtf.com/articles/Classic-WTF-What-Is-Truth

Re: We'd be better off with 9-bit bytes

#216

Non-power-of-2 sizes are awkward from a hardware perspective. A lot of designs for e.g. optimized multipliers depend on the operands being divisible into halves; that doesn't work with units of 9 bits. It's also nice to be able to describe a bit position using a fixed number of bits (e.g. 0-7 in 3 bits, 0-31 in 5 bits, 0-63 in 6 bits), e.g. to represent a number of bitwise shift operations, or to select a bit from a…

Author here. It's true that you'd need one more bit to represent a bit position in a word, like for shifts, but we're already vastly over-provisioned; even in 64-bit registers we're only using six of eight bits. (Plus, in a lot of places we'd have that extra bit around!) Some hardware circuits are a bit nicer with power-of-two sizes but I don't think it's a huge difference, and hardware has to include weird stuff lik…

- Why not 12 bits?

Re: We'd be better off with 9-bit bytes

#217

Earlier quoted context omitted.

As a consumer, I don’t care if it’s Santa Claus’s fault. IPv4: works, IPv6: doesn’t. I don’t even need to know what IPv6 means. I just need to know: Turn it off to make things work. As a technologist, growing up involves learning not to blame the consumer. They are not holding it wrong, you just designed it in a dumb way.

And I'm not blaming the consumer. If you want to come into a topic and say the problem is that IPv6 did too much, you can't fall back on "it doesn't matter who's at fault". Yes it does matter, that's what this thread is about , that and looking at how technological changes would have affected deployment.

It is forever tainted and I will put down money on a bet that when IPv4 is replaced (in the 2040s), it will be by something that will not be IPv6.

Re: We'd be better off with 9-bit bytes

#218

Earlier quoted context omitted.

Wonder why we don’t have 720 degrees… (6!)

Maybe because 360 is already divisible by 6, so 720 is not much of an upgrade over 5!. 7! On the other hand adds another prime factor to it.

7! 5040 has the less than useful property of being quite large for interacting with human scales.

5! 120 however lacks fine precision required at human scale. Haven't done the math but it's probably something like using 3.1 as the analog of Pi.

360 seems like it might have been chosen based on a mix of precision and practicality. Many small prime factors ( 2 2 2 3 3 5 ). Also an extra prior prime factor for every added prime. 75600 too big, and 12 what analog clock faces use as their primary number.

Re: We'd be better off with 9-bit bytes

#220

Earlier quoted context omitted.

There was a time, however, where CPUs operated almost exclusively on on 8bit bytes (and had 8bit data buses). Everything else is merely the consequence of that.

Quick note that this isn't true. 8-bit CPUs are newer than 36-bit CPUs, and 8-bit bytes were established long before 8-bit CPUs came on the scene. Prior to the mid-70s most machines were word-addressed. The adoption of byte addressing (the subject of the grandparent) gained traction after C and similar languages became popular. C was developed on the pdp-11 which supported byte addressing and it provided a compatible…

The C "char" type need not be 8-bit at all. *nix operating systems enforce 8-bit bytes, but that's historically due to the primacy of text streams on that platform, and is to some extent an arbitrary choice.
Post reply on HN