# Unary Operators

## Type inferences

The type of**op VALUE**is exactly the same as**VALUE**.

## Definitions

### + VALUE


- For numbers, returns**VALUE**.
- It is not allowed on other types.

### - VALUE


- For signed integers, returns -1 ***VALUE**.
- For floating-point numbers, returns -1 ***VALUE**.
- It is not allowed on other types.

### not VALUE


- For integers, returns the bit-wise reversed value of**VALUE**.
- For**bool**, switch**true**and**false**.
- It is not allowed on other types.

