Javaの整数除算を使用しようとしていて、床がかかると思われます。ただし、床の代わりにゼロに向かって丸くなります。Java整数の除算で負の数値が得られない
public class Main {
public static void main(String[] args) {
System.out.println(-1/100); // should be -1, but is 0
System.out.println(Math.floor(-1d/100d)); // correct
}
}
問題は効率的である必要があるため、私はdouble/floatに変換したくないということです。私は方法、floorDivide(long a, long b)
でこれを解決しようとしています。私が持っているものは:
ダブル/フロートなしでこれを行うにはどうすればいいですか?
'int 'のいずれかを' double'にキャストすることについては、効率的ではありません。 – Zircon