*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 2^{n} 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 2^{n} 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 2^{n} where *n* is
the number of bits in the value representation of that particular size
of integer.^{46}