Hacker News new | ask | show | jobs
by slver 1866 days ago
> For example, the way signed and unsigned numbers are defined in the C standard

What do you mean?

2 comments

Presumably something like the representation of signed numbers being implementation defined (instead of two's complement as is virtually always the case nowadays).
I know this doesn't address the point about the C standard itself, but:

• GCC and Clang both accept the -fwrapv argument, causing the compiler to guarantee that signed overflow will wrap, like in Java

• The latest C++ standard mandates that signed integer types use two's complement representation (signed overflow remains undefined behaviour)

Yeah. The standard avoids obvious guarantees because of some computer you never heard of. And then compiler writers use the standard as license to mess with the guarantee on _your_ computer.