标签: boolean-logic

简化if语句逻辑

我已经分开了一个测试,以确定两个计划项目是否重叠,因为它的不可读性.

是否有任何应用程序可以帮助简化逻辑语句?

示例:(最初是一个错误的示例,但是暴露了我请求的原因)

if (x < y && y < z && x < z)  
Run Code Online (Sandbox Code Playgroud)

可以减少到

if (x < y && y < z)
Run Code Online (Sandbox Code Playgroud)

我的代码是:

return (shift.Start <= shift2.Start && shift.End >= shift2.End) || (shift2.Start <= shift.Start && shift2.End >= shift.Start)
Run Code Online (Sandbox Code Playgroud)

我希望能够更简单,我相信这是可能的,只是不确定如何.

看到这是真正与语言无关的,即使转换到不同的脚本来寻找可能性也会很好,例如,不需要它在C#中.

language-agnostic boolean-logic readability

2
推荐指数
3
解决办法
3975
查看次数

布尔代数简化

我需要将这个布尔表达式简化为最简单的形式.鉴于最简单的形式包含3个术语和7个文字.

表达式是:

x'yz + w'x'z + x'y + wxy + w'y'z
Run Code Online (Sandbox Code Playgroud)

我们在课堂上尝试了这一点,甚至我们的背诵老师都无法理解.

任何帮助,将不胜感激.

boolean-logic boolean algebra

2
推荐指数
1
解决办法
3091
查看次数

如何更好地组织这两个连续的IF语句?

我想更好地组织以下两个if陈述:

if(A || B){
    do stuff...
}

if(A && ! B){
    do other stuff...
}
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

编辑:在第二次发言!之前B,抱歉...

c logic conditional boolean-logic if-statement

2
推荐指数
1
解决办法
500
查看次数

C位布尔逻辑

我有以下C语句:

int res = x & (x ^ y);
Run Code Online (Sandbox Code Playgroud)

有没有办法做同样的事情,但使用xy每次只有一次?

例如:

x | (~x & y) == x | y
Run Code Online (Sandbox Code Playgroud)

c boolean-logic

2
推荐指数
1
解决办法
188
查看次数

什么都不做的逻辑运算符的名称是什么?

当我在一个变量上列出所有布尔运算符时,我找到一个什么都不做的运算符:

A f(A)
0 0
1 1
Run Code Online (Sandbox Code Playgroud)

这个运营商有官方名称吗?

再见

boolean-logic

2
推荐指数
1
解决办法
118
查看次数

如果条件在C中有趣

我试图理解一些像6 - 10年前那样快速而肮脏的 C/C++代码.

这个if-expression是什么意思?

int s_adr, e_adr, empf_adr;
// ...

if (success == OK &&
    (s_adr & 0x1f) == empf_adr &&
    (e_adr & 0x20) &&
    (s_adr & 0x20)
    )
Run Code Online (Sandbox Code Playgroud)

(e_adr & 0x20)一样的((e_adr & 0x20) == 1)吗?或者我该如何理解?我想当你非常了解C和C++时,这可能是一个愚蠢的问题.但我没有.

c c++ boolean-logic boolean

2
推荐指数
2
解决办法
650
查看次数

在Python中评估布尔元组

我试图让这个评估为假.

(False,)
Run Code Online (Sandbox Code Playgroud)

它目前等于true,因为我认为元组不是空的.那么如何将其提取或转换为布尔值呢?谢谢〜

python boolean-logic boolean boolean-expression python-2.7

2
推荐指数
1
解决办法
4035
查看次数

找到包含在两个`n2` FALSE之间的`n1` TRUE,整个事情包含在`n3` TRUE之间,等等

从一系列TRUE和falses,我想创建一个返回TRUE的函数,无论n1序列中某处是否存在至少一系列TRUE .这是这个功能:

fun_1 = function(TFvec, n1){
    nbT = 0
    solution = -1
    for (i in 1:length(x)){
            if (x[i]){
            nbT = nbT + 1
               if (nbT == n1){
                return(T)
                break
               }
            } else {
                nbT = 0
            }
        }
        return (F) 
}
Run Code Online (Sandbox Code Playgroud)

测试:

x = c(T,F,T,T,F,F,T,T,T,F,F,T,F,F)
fun_1(x,3) # TRUE
fun_1(x,4) # FALSE
Run Code Online (Sandbox Code Playgroud)

然后,我需要一个返回TRUE的函数,如果在给定的列表中布尔向量,则n1至少有一系列由至少两个系列(每侧一个)包裹的TRUE n2.这里的功能:

fun_2 = function(TFvec, n1, n2){
    if (n2 == 0){
        fun_1(TFvec, n2)        
    }
    nbFB = 0
    nbFA = 0
    nbT = 0
    solution …
Run Code Online (Sandbox Code Playgroud)

search boolean-logic boolean r boolean-operations

2
推荐指数
1
解决办法
74
查看次数

如何在Android中检查布尔值?

在我的Android应用程序中,有两种登录类型。用户可以使用Facebook或Google+登录。用户成功登录后,它将显示该特定社交帐户中的数据。例如,当用户使用Facebook登录时,它将显示来自Facebook的数据。我已经包含了我的代码:

demo.java

boolean isFacebook;

  if (!isFacebook) {
        txtName.setText(PrefUtils.getCurrentUser(WelcomeScreenActivity.this).firstname);
        txtEmail.setText(PrefUtils.getCurrentUser(WelcomeScreenActivity.this).email);

        // fetching facebook's profile picture
        new AsyncTask<Void, Void, Void>() {
            @Override
            protected Void doInBackground(Void... params) {
                URL imageURL = null;
                try {
                    imageURL = new URL("https://graph.facebook.com/" + user.facebookID + "/picture?type=small");
                } catch (MalformedURLException e) {
                    e.printStackTrace();
                }
                try {
                    bitmap = BitmapFactory.decodeStream(imageURL.openConnection().getInputStream());

                } catch (IOException e) {
                    e.printStackTrace();
                }
                return null;
            }

            @Override
            protected void onPostExecute(Void aVoid) {
                super.onPostExecute(aVoid);
                imgProfile.setImageBitmap(bitmap);

            }
        }.execute();

    } else {
        isFacebook = false;
         SharedPreferences pref = …
Run Code Online (Sandbox Code Playgroud)

android boolean-logic facebook

2
推荐指数
1
解决办法
947
查看次数

为什么执行“ boolean t = true,b; b =(t ||((i ++)== 0))后,“ i”的值不改变

  int i = 0;
  boolean t = true;
  boolean f = false, b;
  b = (t || ((i++) == 0));
  b = (f || ((i+=2) > 0));
  System.out.println(i);
Run Code Online (Sandbox Code Playgroud)

执行上述代码后,打印结果为2,而不是3,为什么?

我发现在通过调试执行“ b =(t ||((i ++)== 0))”之后,“ i”是0而不是1。

java boolean-logic

2
推荐指数
1
解决办法
125
查看次数