# toUnsigned abstract method

- int width

Returns the least significant `width`

bits of this big integer as a
non-negative number (i.e. unsigned representation). The returned value has
zeros in all bit positions higher than `width`

.

```
BigInt.from(-1).toUnsigned(5) == 31 // 11111111 -> 00011111
```

This operation can be used to simulate arithmetic from low level languages. For example, to increment an 8 bit quantity:

```
q = (q + 1).toUnsigned(8);
```

`q`

will count from `0`

up to `255`

and then wrap around to `0`

.

If the input fits in `width`

bits without truncation, the result is the
same as the input. The minimum width needed to avoid truncation of `x`

is
given by `x.bitLength`

, i.e.

```
x == x.toUnsigned(x.bitLength);
```

## Implementation

`BigInt toUnsigned(int width);`