# Program 16: 64-bit Math

## Binary long division #

If you remember back in middle school (elementary?), long division was one of those things where you probably just though, “can’t I use a calculator?” Can you do this with other bases other than 10? Absolutely. Welcome to long division, binary edition.

It’s actually pretty simple. Look at an example of 200/8.

```
00011001 = 25
__________
1000 | 11001000
1: 1
2: 11
3: 110
4: 1100
-1000
0100
5: 1001
-1000
0001
6: 10
7: 100
8: 1000
-1000
```

As opposed to re-inventing the wheel, Ben Eater has a great detailed video explaining how to do this with a computer. Video

## Program 16: 64-bit Math Video

Description of Program

Multiply two 32-bit numbers. Take the result and write an integer to ASCII program that reads 64 bit numbers using this shift/long division method.

The two 32-bit numbers are `0xbf85be21`

and `0xce0a6a80`

and are already in
the template.