The calculator below shows what happens when you forcibly assign integers to the wrong size or "signed-ness".
It has not been tested against any implementation in particular, but I checked a few cases against Rust. I may revise it to match a specific implementation in future.
It could also be useful to add a "counter" or "modulo" mode where the outputs `a` and `b` are incremented `Number` times.