What would you use it for? I’ve done plenty of 16 bit hex math back in the day so I can see some level of handiness there, but never quite got what it was meant for, or why someone would want a physical device for it. However, I’d love to hear more!
It's useful for anything where you have to deal with bits and bytes, for example programming a driver on a microcontroller or handling serial communications. It's also keystroke programmable, which means you can easily write a program that simulates the processor you're working on doing a series of bit operations, then run it on a bunch of different inputs to see if it works on the full range of inputs. Depending on the platform you're targeting, this can be a lot faster than jumping straight to writing the code and debugging it.
If you want a concrete example of something it's good for, a while ago I had to write code to read the value output by a Neptune water meter. These meters use a very strange and inefficient signaling protocol, where each individual data bit has a start, stop, and parity bit. I had to write a program to read the data out of a packed 8-bit buffer, validate it, then convert it to a number, which involved a bunch of bit operations.
Obviously a physical device isn't necessary for stuff like this, it's more something that's nice to have than something that's absolutely necessary for low level development. For example, Windows comes with a programmer calculator but it's not programmable and it doesn't use RPN so this is a little bit nicer for me.
It's useful for anything where you have to deal with bits and bytes, for example programming a driver on a microcontroller or handling serial communications. It's also keystroke programmable, which means you can easily write a program that simulates the processor you're working on doing a series of bit operations, then run it on a bunch of different inputs to see if it works on the full range of inputs. Depending on the platform you're targeting, this can be a lot faster than jumping straight to writing the code and debugging it.
If you want a concrete example of something it's good for, a while ago I had to write code to read the value output by a Neptune water meter. These meters use a very strange and inefficient signaling protocol, where each individual data bit has a start, stop, and parity bit. I had to write a program to read the data out of a packed 8-bit buffer, validate it, then convert it to a number, which involved a bunch of bit operations.
Obviously a physical device isn't necessary for stuff like this, it's more something that's nice to have than something that's absolutely necessary for low level development. For example, Windows comes with a programmer calculator but it's not programmable and it doesn't use RPN so this is a little bit nicer for me.