У меня есть очень большие числа и сложные строковые уравнения для решения в java. Для этого я использую BeanShell. В этих уравнениях также могут содержаться побитовые бинарные операции, например.
(log(100)*7-9) & (30/3-7)
должно быть 1. Как я уже сказал, мне нужно обрабатывать огромные числа, поэтому я добавляю L
к каждому числу, которое до сих пор работает нормально. Но здесь у меня проблема, когда я вычисляю что-то вроде 3/2
, я просто получаю 1
, а не 1.5
. Затем я попытался добавить D
для двойных значений к каждому числу, что дает мне 1.5
, но здесь я получаю сообщение об ошибке в двоичных операциях and or xor
и т. д., потому что, конечно, они могут применяться только к целочисленным значениям.
Есть ли способ получить значения double
, когда это необходимо, и при этом выполнять двоичные операции (конечно, только когда у меня есть целые значения)?