> For the complete documentation index, see [llms.txt](https://bootcamp.openguild.wtf/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bootcamp.openguild.wtf/smart-contract-development/advanced-solidity/units.md).

# Units

### Common units

* `wei` is the smallest subdenomination of Ether (1 `wei` == 1)
* `gwei` is the commonly used subdenomination to describe gas price (1 `gwei` == 1e9)
* `ether` unit (1 `ether` == 1e18)

#### Note

In Solidity, we will use integers for calculations and the language does not support the `float` type. The float representation issue causes rounding errors (`rounding`) that create logical holes for attack.

### Time units

* 1 == 1 `seconds`
* 1 `minutes` == 60 `seconds`
* 1 `hours` == 60 `minutes`
* 1 `days` == 24 `hours`
* 1 `weeks` == 7 `days`

**Example**

```solidity
function f(uint start, uint daysAfter) public {
    if (block.timestamp >= start + daysAfter * 1 days) {
        // ...
    }
}
```
