←back to thread

The C23 edition of Modern C

(gustedt.wordpress.com)
515 points bwidlar | 3 comments | | HN request time: 0.753s | source
Show context
eqvinox ◴[] No.41858531[source]
> The storage order, the endianness, as given for my machine, is called little-endian. A system that has high-order representation digits first is called big-endian. Both orders are commonly used by modern processor types. Some processors are even able to switch between the two orders on the fly.

Calling big endian "commonly used by modern processor types" when s390x is really the only one left is a bit of a stretch ;D

(Comments about everyone's favorite niche/dead BE architecture in 3… 2… 1…)

replies(7): >>41858643 #>>41858658 #>>41858663 #>>41859666 #>>41860712 #>>41860854 #>>41866505 #
legends2k ◴[] No.41860712[source]
Arm is bi-endian and is alive in most phones.

I agree with another GP's comment that modern doesn't mean popular/widely used.

replies(3): >>41860723 #>>41860906 #>>41861026 #
1. unscaled ◴[] No.41861026[source]
The book does say "Both orders are commonly used by modern processor types". I'd say this sentence is quite misleading, since it would lead you to believe two falsehoods:

1. That both byte orders are equally prevalent in the wild, particularly in systems that are expected to run modern C code.

2. That both byte orders are equally likely to be found in "modern" (new or updated) processor design.

It's not entirely incorrect, but a better phrasing could be used to clarify that little-endian is the more modern and common storage order, but you still cannot ignore big-endian.

replies(1): >>41862405 #
2. 3836293648 ◴[] No.41862405[source]
Don't a bunch of web protocols use big endian?
replies(1): >>41865503 #
3. nineteen999 ◴[] No.41865503[source]
You can go lower than that, TCP/IP itself is big-endian (see RFC 1700).