<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">It's not relevant yet, but the C23 standard requires 2's-complement arithmetic.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">In document N2912 (available from the committee website <a href="https://open-std.org/jtc1/sc22/wg14/">https://open-std.org/jtc1/sc22/wg14/</a> under 'documents'), which is the June 2022 draft of the standard, section 6.2.6.2 Integer types says:</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default"><div class="gmail-page" title="Page 60"><div class="gmail-layoutArea"><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><span style="font-family:arial,sans-serif;font-weight:700">NOTE 2 </span><span style="font-family:arial,sans-serif">The sign representation defined in this document is called </span><span style="font-family:arial,sans-serif;font-style:italic">two’s complement</span><span style="font-family:arial,sans-serif">. Previous revisions of this document
additionally allowed other sign representations. </span></blockquote>
                        </div>
                </div></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">So, in a decade or two, we will be able to ignore systems which do not use 2's-complement arithmetic.  If you were ruthless, you could probably ignore 1's-complement and sign-magnitude systems now — this is very largely recognizing the status quo.  There probably are a few mainframe antiques around with the alternatives, but not many.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Nov 4, 2022 at 9:01 PM Paul Eggert via tz <<a href="mailto:tz@iana.org">tz@iana.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">* zic.c (puttzcode): Arg is zic_t, not int_fast32_t.  This fixes a<br>
portability bug on platforms where int_fast32_t is a 32-bit ones’<br>
complement or signed-magnitude integer, and where the argument is<br>
-2**31 before conversion to int_fast32_t.  Although I don’t know<br>
of any such platforms, the C standard allows them.<br>
---<br></blockquote></div><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">Jonathan Leffler <<a href="mailto:jonathan.leffler@gmail.com" target="_blank">jonathan.leffler@gmail.com</a>>  #include <disclaimer.h><br>Guardian of DBD::Informix - v2018.1031 - <a href="http://dbi.perl.org" target="_blank">http://dbi.perl.org</a><br>"Blessed are we who can laugh at ourselves, for we shall never cease to be amused."</div></div></div></div></div></div></div></div></div></div></div>