Ver Mensaje Individual
  #10 (permalink)  
Antiguo 28/04/2020, 06:35
prueba230683
 
Fecha de Ingreso: abril-2011
Mensajes: 170
Antigüedad: 13 años
Puntos: 68
Respuesta: Duda sobre representación de números decimales

Otra cosa. Algunas veces (no entiendo por qué) tira por stderr lo siguiente:

Cita:
Scale (-2147483648) Cant Be Negative!!!
Parece ser un pequeño bug, porque doy fe de que funciona bien (al menos, para operaciones aritméticas):

Código C++:
Ver original
  1. #include <iomanip>
  2. #include <iostream>
  3. #include "BigDecimal.h"
  4.  
  5. using namespace std;
  6.  
  7. int main() {
  8.   BigDecimal C;
  9.   BigDecimal A("1");
  10.   BigDecimal B("1000000000000000000000000000000000000000000000000000000000000");
  11.   BigDecimal D("2");
  12.   C = A / B;
  13.   cout << "C = " << C.toString() << endl; // 0.000000000000000000000000000000000000000000000000000000000001
  14.   C = C / D;
  15.   cout << "C = " << C.toString() << endl; // 0.0000000000000000000000000000000000000000000000000000000000005
  16.   C = C + (A / B);
  17.   cout << "C = " << C.toString() << endl; // 0.0000000000000000000000000000000000000000000000000000000000015
  18.   C = C * D;
  19.   cout << "C = " << C.toString() << endl; // 0.000000000000000000000000000000000000000000000000000000000003
  20. }

Yo comentaría todos los std::cerr en BigDecimal.cpp para que no te lance errores innecesarios.

PD: También he visto en el código que tiene soporte para algunos operadores más: potencia ^, módulo % etc.

Última edición por prueba230683; 03/05/2020 a las 10:29