The old TI-89 handheld calculators are amazingly good at this stuff. (It does struggle with "bytes", though it handles hex quite nicely within its syntax.) I still have one on my desk, and this is the main reason why. I barely bother with it for anything that doesn't involve units, and it's still worth the literal desk space. There is a good Android emulator, though in recent years it seems to have grown the habit of sometimes registering taps as a large number of button presses. I'm not entirely sure why; this behavior is very annoying. It might be phone-dependent, or a problem caused by a too-new Android version.
Frink is also very good at units, but I struggle to use it for anything more complex than a simple conversion. I'm sure it can do the task, but I've never been able to learn to drive it well, and usually get pretty frustrated when I try. The documentation and my brain don't really get along, or maybe it's that I am often in a hurry when I am trying to do something with it.