Пытаясь написать правдивое, я попытался выяснить алгоритм, и я нашел тот, который работает. Однако теперь я не понимаю, почему он не выдает исключение ArithmeticException.
for(int i=0; i<Math.pow(2, numberOfInputs()); i++)
{
for(int j=0; j<numberOfInputs(); j++)
{
System.out.print("" + i/(int) Math.pow(2, j)%2 + "\t");
}
System.out.println("");
}
При попытке сделать это с numberOfInputs(), возвращающим 2, я получаю:
Truthtable
0 0
1 0
0 1
1 1
Но я не понимаю, как это может быть, ведь Math.pow(2, j)%2 будет =0 несколько раз?!
(i/2^j) % 2
- person Minn   schedule 10.03.2019Math.pow(2, j)
. Вместо этого используйте1 << j
- person phuclv   schedule 14.03.2020