Tengo problemas para encontrar una función para este tipo de operación matemática extraña que estoy tratando de lograr. Digamos que tienes dos cantidades de un líquido en onzas. Las dos cantidades se pueden dividir en solo cuatro partes diferentes: 1 onza, 32 de 1 onza, 64 de 1 onza y 128 de 1 onza. Por ejemplo, estas dos cantidades podrían ser:
| ONZ | 32 | 64 | 128 |
|---|---|---|---|
| 2 | 22 | - | 3 |
| 1 | 10 | - | 1 |
Necesito calcular la diferencia entre estas dos cantidades. Esto es fácil de hacer a mano, pero no tanto mediante programación. El resultado esperado para esta situación sería 1oz, 12/32, 0/64 y 2/128. Debo terminar con las cantidades divididas en sus proponentes más pequeños, por lo que 32/32 debería convertirse en 1 onza, etc. ¿Cuál es la mejor manera de implementar esto?
Esto es lo que he estado intentando más recientemente (solo convirtiendo a y desde decimal):
Esta matemática se basa en https://www.calculatorsoup.com/calculators/time/decimal-to-time-calculator.php