I have developed an app that does just what you describe.
Currently it features intervals, chords, scales, and perfect pitch training. There is also a random mode where you can shuffle all the above.
I intend to add more functionality soon.
If you want to give it a try, here it is:
In Windows PowerShell already has that capability. Numbers can take suffixes that represent the units in base 2. Just type 12.5GB + 5.8MB + 1392KB and you'll have the size in bytes. To convert to other units divide by the corresponding unit
If you need to use decimal units then scale the values manually: 12.5e9 + 5.8e6 + 1392e3 (G = 1e9, M = 1e6, K = 1e3)