---
title: "Base 16"
tags: [ "data" ]
---

Base 16 numbers often use `0x` at the start, so '10' just means '10', but `0x10` means '10 in base 16' which means '16'.

For small numbers, use `printf`.

```sh
printf "%x" $NUMBER
```

For any number, use `bc`.


```sh
fortune | md5sum  | cut -d' ' -f1 | tr [:lower:] [:upper:] | bc
```

- Inputting base 16 uses `ibase=16`.
- Outputting base 10 uses `ibase=10`

```sh
echo 'ibase=16;' $(echo cbb478ac825f0dce7671254be035d0bc | tr [:lower:] [:upper:]) | bc
```