将两个布尔值转换为int

Osc*_*Ryz 3 java language-agnostic

这可能非常容易.

如果我有两个布尔值a和b,我怎样才能获得等效的"二进制"数字?

false and false = 0 
false and true  = 1 
true  and false = 2 
true  and true  = 3 
Run Code Online (Sandbox Code Playgroud)

3Da*_*ave 10

(left ? 2 : 0) + (right ? 1 : 0);
Run Code Online (Sandbox Code Playgroud)

不确定java是否处理像C这样的布尔值,但如果是的话:

2*left+right;
Run Code Online (Sandbox Code Playgroud)