Are there signed integers in Move?


I am learning Move language. I see that it only has unsigned integer types as u8, u64 and u128. What should I do if need signed integers?

Answers 1

Integers Move supports three unsigned integer types: u8, u64, and u128. Values of these types range from 0 to a maximum that depends on the size of the type.

Type Value Range Unsigned 8-bit integer, u8 0 to 28 - 1 Unsigned 64-bit integer, u64 0 to 264 - 1 Unsigned 128-bit integer, u128 0 to 2128 - 1 Literals Literal values for these types are specified either as a sequence of digits (e.g.,112) or as hex literals, e.g., 0xFF. The type of the literal can optionally be added as a suffix, e.g., 112u8. If the type is not specified, the compiler will try to infer the type from the context where the literal is used. If the type cannot be inferred, it is assumed to be u64.

If a literal is too large for its specified (or inferred) size range, an error is reported.