MathFPライブラリを使用するユニットコンバータプログラムを構築しています。通常、単位変換は次の式で行われます。
U1(ユニット1)* K(定数)= U2(ユニット2)
intがオーバーフロー/アンダーフローしたことを検出できるようにしたいですか?これがいつ発生したかを検出し、問題を適切に処理するにはどうすればよいですか。long型のプリミティブでオーバーフローを処理したいので、理想的には一般的な解決策を探しています。
私が持っている唯一のアイデアは:
int largeOne = bigNum;
int largeTwo = anotherbigNum;
//complete math operation
long l = largeOne * largeTwo;
if(l > Integer.MAX_SIZE){
System.out.println("Overflow");
//handle error
}
これらの変換には、doubleなどの別のプリミティブデータ型を使用する必要がありますか?
よろしくお願いします