programing

|와 | 또는 연산자의 차이점은 무엇입니까?

kingscode 2022. 10. 9. 11:37
반응형

|와 | 또는 연산자의 차이점은 무엇입니까?

나는 항상 사용해 왔다.||의 파이프)는 C과 PHP의 OR 사용하는 있다: occasion 1 개개 、 occasion 、 occasion 1 、 occasion occasion 、 。|이두 가가 도도 도? ?? ???둘 다 사용할 때 주의해야 할 사항이 있습니까? 니면서 서환 ?환? ????

★★★★★★★와 같이& ★★★★★★★★★★★★★★★★★」&&오퍼레이터, 이중 오퍼레이터는 "단락" 오퍼레이터입니다.

예를 들어 다음과 같습니다.

if(condition1 || condition2 || condition3)

condition1이 true이면 condition2와 3은 체크되지 않습니다.

if(condition1 | condition2 | condition3)

1이 이미 참인 경우에도 조건 2와 3을 확인합니다.당신의 조건은 매우 비싼 기능일 수 있기 때문에 그것을 사용함으로써 성능을 크게 향상시킬 수 있습니다.

Null References 또는 이와 유사한 문제가 하나 있습니다.예를 들어 다음과 같습니다.

if(class != null && class.someVar < 20)

는 null, if-statement, if-statement, if-statement, if-statement, if-statement, if-statement, if-statement, if-statement, , ifclass != null '&''&'요.class.someVar 좋은 결과가 거예요.NullReferenceExceptionOr-Operator를 사용하면 나쁜 일을 일으킬 가능성은 낮지만 명심해야 할 사항입니다.

요.& ★★★★★★★★★★★★★★★★★」|단, 각 조건이 실행되어야 하는 함수인 설계가 없는 한 연산자.디자인 냄새처럼 들리지만 때로는 깔끔한 작업 방식일 수도 있습니다.& 기능을 하고, 그 중 을 실행합니다라고 하는 반면, "3"은 "false", "false"는 "그렇지 않으면"입니다.| 「 return false」를 반환하지 않는 , 「 return false」를 실행합니다 「none return false」를 사용합니다.- none return false」를 참조해 주세요.

.| ★★★★★★★★★★★★★★★★★」&연산자(단, 비트 연산자).

||는 논리 OR 연산자입니다.그게 뭔지 알고 있는 것 같네요조건문(if, while 등)에서 사용합니다.

condition1 || condition2

condition1 또는 condition2 중 하나가 true이면 true로 평가됩니다.

|는 비트 단위 OR 연산자입니다.두 개의 번호를 조작할 때 사용합니다.각 숫자의 각 비트를 개별적으로 조사합니다.이 중 1비트가 적어도1개의 숫자의 1인 경우 결과 비트도 1이 됩니다.다음은 몇 가지 예입니다.

A = 01010101
B = 10101010
A | B = 11111111

A = 00000001
B = 00010000
A | B = 00010001

A = 10001011
B = 00101100

A | B = 10101111

그게 말이 됐으면 좋겠어요.

따라서 마지막 두 가지 질문에 답하려면 "두 운영자의 차이점을 알아야 한다"는 것 외에 다른 주의 사항은 없습니다.서로 완전히 다른 두 가지 일을 하기 때문에 서로 바꿀 수 없습니다.

하나는 "비트 또는"입니다.

10011b | 01000b => 11011b

다른 하나는 논리 혹은.

true 또는 false => true

좋은 질문입니다.이 두 연산자는 PHP와 C#에서 동일하게 동작합니다.

|or or ada.| 0010 = 등입니다: : 1101 | 0010 = 1111 。) 쓰기(0X02) 쓰기 (예 : = = 01 ( 0X01) = 10 ( 0X02) = 11 ( 0X03) 입니다.한 가지 유용한 예는 파일을 여는 것입니다.로 예를 들 수 .

File.Open(FileAccess.Read | FileAccess.Write);  //Gives read/write access to the file

||or or ada. 가게에 가거나 쇼핑몰에.예를 들어, 나는 가게에 가거나 쇼핑몰에 갈 것이다.이것은 암호에서 가장 자주 사용되는 것입니다.예를 들어 다음과 같습니다.

if(Name == "Admin" || Name == "Developer") { //allow access } //checks if name equals Admin OR Name equals Developer

PHP 리소스: http://us3.php.net/language.operators.bitwise

C# 리소스: http://msdn.microsoft.com/en-us/library/kxszd0kx(VS.71).aspx

http://msdn.microsoft.com/en-us/library/6373h346(VS.71).aspx

& (조건 1 & 조건 2) : 첫 번째 케이스가 거짓인 경우에도 두 케이스 모두 체크한다.

& & - (조건 1 & 조건 2) : 케이스 1이 잘못된 경우 두 번째 케이스를 굳이 확인할 필요가 없다.

& & - 오퍼레이터는 코드 실행을 보다 빠르고 전문적으로 수행하며 거의 사용되지 않습니다.

| - (조건 1 | 조건 2) : 케이스1이 참인 경우에도 양쪽 케이스 체크

|| - (조건 1 | | 조건 2) : 첫 번째 케이스가 참인지 두 번째 케이스는 굳이 확인할 필요가 없습니다.

|| - 오퍼레이터가 코드 실행을 프로페셔널하게 고속화 | 거의 사용하지 않음

Java의 간단한 예

public class Driver {

  static int x;
  static int y;

public static void main(String[] args) 
throws Exception {

System.out.println("using double pipe");
    if(setX() || setY())
        {System.out.println("x = "+x);
        System.out.println("y = "+y);
        }



System.out.println("using single pipe");
if(setX() | setY())
    {System.out.println("x = "+x);
    System.out.println("y = "+y);
    }

}

 static boolean setX(){
      x=5;
     return true;
  }
 static boolean setY(){
      y=5;
      return true;
  }
}

출력:

using double pipe
x = 5
y = 0
using single pipe
x = 5
y = 5

수학적 정의에 따르면 OR 및 AND는 이진 연산자이며, | 및 &와 마찬가지로 LHS 및 RHS 조건을 확인합니다.

|| 및 & & LHS 조건이 충족되지 않을 때 OR 연산자와 AND 연산자의 속성을 중지하여 변경합니다.

단일 파이프 |는 비트 연산자의 1개입니다.

Wikipedia에서:

C 프로그래밍 언어 패밀리에서 비트 OR 연산자는 "|"(파이프)입니다.이 연산자는 피연산자를 부울값으로 처리하며 "||"(2개의 파이프)로 기록되는 부울 "논리" 또는 부울값과 혼동해서는 안 됩니다.

의 경우| Logicall » Logicall||

또는

단위& logicall 및 and and&&

,을 요. if( a>b | a==0) a>b 「」가 됩니다.a==0그때 평가하겠습니다.|작업이 완료됩니다.

하지만|| if a>b그러면 다음 RHS를 체크하지 않습니다.

&&&&도 마찬가지입니다.

if(A>0 & B>0)

LHS를 평가한 후 RHS를 비트 단위로 수행합니다.

(A>0 && B>0)

if(A>0)false(LHS) 직접,return false;

| 연산자는 2개의 오퍼랜드(양쪽이 false를 반환하려면 false로 평가해야 함을 의미)의 비트 단위 OR을 실행합니다.한편 | 연산자는 필요한 경우에만 두 번째 연산자를 평가합니다.

http://msdn.microsoft.com/en-us/library/kxszd0kx(VS.71).aspx

http://msdn.microsoft.com/en-us/library/6373h346(VS.71).aspx

singe pipe "|"는 "비트 단위" 또는 "비트 단위"이며, 사용자가 무엇을 하고 있는지 알고 있을 때만 사용해야 합니다.이중 파이프 "||"는 논리 또는 "x == 0 | x == 1"과 같은 논리 문에 사용할 수 있습니다.

다음은 비트 또는 동작의 예입니다.a=0101 및 b=0011이면 a|b=0111입니다.0이 아닌 것을 true로 취급하는 논리 시스템을 취급하고 있는 경우, 비트 단위 또는 는 논리 단위와 동일하게 동작합니다.또, 상대편(비트 단위 및 "&")은 동작하지 않습니다.또한 비트 단위 또는 단락 평가를 수행하지 않습니다.

단일 파이프(|)는 비트 단위 OR 연산자입니다.

2개의 파이프(||)가 논리 OR 연산자입니다.

그것들은 서로 교환할 수 없다.

언급URL : https://stackoverflow.com/questions/35301/what-is-the-difference-between-the-and-or-operators

반응형