## 7.7 Integers

Describes implementation-defined aspects of the Arm^{®} C compiler and C library relating to integers, as required by the ISO C standard.

- Any extended integer types that exist in the implementation (6.2.5).
- No extended integer types exist in the implementation.
- Whether signed integer types are represented using sign and magnitude, two’s complement, or
ones’ complement, and whether the extraordinary value is a trap
representation or an ordinary value (6.2.6.2).
- Signed integer types are represented using two's complement with no padding
bits. There is no extraordinary value.
- The rank of any extended integer type relative to another extended integer
type with the same precision (6.3.1.1).
- No extended integer types exist in the implementation.
- The result of, or the signal raised by, converting an integer to a signed integer type when
the value cannot be represented in an object of that type (6.3.1.3).
- When converting an integer to a N-bit wide signed integer type and the value
cannot be represented in the destination type, the representation of the source
operand is truncated to N-bits and the resulting bit patters is interpreted a
value of the destination type. No signal is raised.
- The results of some bitwise operations on signed integers (6.5).
- In the bitwise right shift
`E1 >> E2`

, if
`E1`

has a signed type and a negative value, the value of the
result is the integral part of the quotient of `E1 / 2^E2`

,
except that shifting the value –1 yields result –1.