This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 115d. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.

2024-10-26


1515. Modulo 2n arithmetic for implicitly-unsigned types

Section: 6.8.2  [basic.fundamental]     Status: CD3     Submitter: Sean Hunt     Date: 2012-07-03

[Moved to DR at the April, 2013 meeting.]

According to 6.8.2 [basic.fundamental] paragraph 4,

Unsigned integers, declared unsigned, shall obey the laws of arithmetic modulo 2n where n is the number of bits in the value representation of that particular size of integer.

It is not clear whether this wording intentionally excludes types like char16_t and char32_t (and, possibly, types char and wchar_t, if those types are unsigned in a given implementation), since the unsigned keyword is not used in their declaration.

Proposed resolution (October, 2012):

Change 6.8.2 [basic.fundamental] paragraph 4 as follows:

Unsigned integers, declared unsigned, shall obey the laws of arithmetic modulo 2n where n is the number of bits in the value representation of that particular size of integer.46