> Little endian is superior because you can cast between integer types without pointer arithmetic
I’ve heard this one several times and it never really made sense. Is the argument that y you can do:
short s;
long *p = (long*)&s;
Or vice versa and it kind of works under some circumstances?
Yes. In little-endian, the difference between short and long at a specific address is how many bytes you read from that address. In big-endian, to cast a long to a short, you have to jump forward 6 bytes to get to the 2 least-significant bytes.