>백엔드 개발 >C#.Net 튜토리얼 >C#의 비트 연산자

C#의 비트 연산자

WBOY
WBOY원래의
2024-09-03 15:08:43813검색

비트 연산자는 비트 수준에서 수행되는 연산일 뿐이며 C#에서는 AND, OR, NOT 등의 연산자를 사용하여 다양한 비트 연산을 허용합니다. 일반적으로 비트 연산에 사용되는 연산자는 true를 반환하는 AND(&)입니다. 두 피연산자가 모두 참인 경우에만 참을 반환하는 OR(|) 입력에 따라 비교 가능한 결과를 반환하는 배타적 OR(XOR 또는 ^) 입력값을 이동하는 데 사용되는 왼쪽 시프트(<<) 비트를 왼쪽으로, 오른쪽 시프트(>>)는 비트를 오른쪽으로 이동하는 데 사용되며 보수(~)는 단일 피연산자에 사용되며 입력에 따라 보수 비트 값을 반환합니다.

C#의 비트 연산자 유형

다음은 C#에 정의된 다양한 유형의 Bitwise 연산자입니다.

  • 비트 AND(&): 첫 번째 피연산자의 각 비트는 두 번째 피연산자의 비트와 연결됩니다. 두 비트가 모두 1이면 결과 비트는 0이 아니면 1입니다.
  • 비트 OR(|): 첫 번째 피연산자의 각 비트는 두 번째 피연산자의 비트와 연결됩니다. 비트 중 하나가 1이면 결과 비트는 0이 아니면 1입니다.
  • 비트 배타적 OR(XOR – ^): 첫 번째 피연산자의 모든 비트는 두 번째 피연산자의 후속 비트와 유사합니다. 한 비트가 0이고 다른 비트가 1일 때 결과 비트는 1이고 그렇지 않으면 결과 비트는 0입니다.
  • 비트 왼쪽 시프트(<<): 정의된 비트 수에 따라 숫자를 왼쪽으로 이동합니다. 가장 작은 비트에는 0이 추가됩니다.
  • 비트 오른쪽 시프트(>>): 정의된 비트 수에 따라 숫자를 오른쪽으로 이동합니다. 가장 작은 비트에는 0이 추가됩니다.
  • 비트 보수(~): 비트 보수 연산자는 하나의 피연산자에만 작동하는 단항 연산자입니다. ~ 연산자는 1에서 0으로, 0에서 1로 전환합니다.

C#의 비트 연산자 예

다음 문서에서는 C#의 비트 연산자의 예에 언급된 비트 연산자의 작동 방식을 설명합니다.

1. 비트 AND

AND 연산을 사용하는 동안 두 값이 모두 True인 경우에만 True를 제공합니다. 이 연산자는 '&' 연산자를 사용하여 구현할 수 있습니다.

예:

using System;
using System.Collections.Generic;
using System.Linq;
public class Program
{
public static void Main()
{
byte myvarA = 10;// This binary is equivalent for 10 is 01010
byte myvarB = 20;// This binary is equivalent for 20 is 10100
long myresult = myvarA & myvarB; // The result of AND operation result is: 00000
Console.WriteLine("{0}  AND  {1} result is :{2}",myvarA,myvarB,myresult);
myvarA = 10;// This binary is equivalent for 10 is 01010
myvarB = 10;// This binary is equivalent for 10 is 01010
myresult = myvarA & myvarB; // The result of AND operation result is: 01010
Console.WriteLine("{0}  AND  {1} result is : {2}",myvarA,myvarB,myresult);
}
}

출력:

텍스트 편집기를 열고 원하는 이름으로 확장자가 .cs인 파일을 저장합니다. 적합한 C# 컴파일러를 사용하여 프로그램을 실행하면 다음과 같은 출력이 표시됩니다.

C#의 비트 연산자

2. 비트 OR

OR 방식을 사용하는 동안 두 값이 모두 FALSE인 경우에만 FALSE를 제공합니다. OR 연산은 다른 모든 경우에 적용됩니다. 이 연산자는 '|' 연산자를 사용하여 구현할 수 있습니다.

예:

using System;
using System.Collections.Generic;
using System.Linq;
public class Program
{
public static void Main()
{
byte myvarA = 10;// This binary is equivalent for 10 is 01010
byte myvarB = 20;// This binary is equivalent for 20 is 10100
long myresult = myvarA | myvarB; // The result of OR operation result is: 11110
Console.WriteLine("{0}  OR  {1} result is :{2}",myvarA,myvarB,myresult);
myvarA = 10;// This binary is equivalent for 10 is 01010
myvarB = 10;// This binary is equivalent for 10 is 01010
myresult = myvarA | myvarB; // The result of OR operation result is: 01010
Console.WriteLine("{0}  OR  {1} result is : {2}",myvarA,myvarB,myresult);
}
}

출력:

위 코드를 컴파일하고 실행하면 다음과 같은 결과가 나타납니다.

C#의 비트 연산자

3. 비트와이즈 EXOR

관련 비트가 고유하면 1이 되고 그렇지 않으면 0이 됩니다. 이 연산자는 '^' 연산자를 사용하여 구현할 수 있습니다.

예:

using System;
using System.Collections.Generic;
using System.Linq;
public class Program
{
public static void Main()
{
int num1 = 14, num2 = 11, myresult;
myresult = num1^num2;
Console.WriteLine("{0} ^ {1} = {2}", num1, num2, myresult);
}
}

출력:

위 코드를 컴파일하고 실행하면 다음과 같은 결과가 나타납니다.

C#의 비트 연산자

4. 비트 오른쪽 Shift

RightShift 연산이 이진수 값으로 수행되면 비트가 오른쪽 한 위치로 이동됩니다. 이 연산자는 '>>' 연산자를 사용하여 구현할 수 있습니다.

예:

using System;
using System.Collections.Generic;
using System.Linq;
public class Program
{
public static void Main()
{
byte myvarA = 10;// This binary is equivalent for 10 is 01010
long myresult = myvarA >> 1; // The right shift operation result is : 0101
Console.WriteLine("{0} is right shifted to 1 position result is:{1}",myvarA,myresult);
}
}

출력:

위 코드를 컴파일하고 실행하면 다음과 같은 결과가 나타납니다.

C#의 비트 연산자

5. 비트 왼쪽 쉬프트

LeftShift 연산이 이진수 값으로 수행되면 비트가 왼쪽의 한 위치로 이동됩니다. 이 연산자는 '<<' 연산자를 사용하여 구현할 수 있습니다.

예:

using System;
using System.Collections.Generic;
using System.Linq;
public class Program
{
public static void Main()
{
byte myvarA = 10;// This binary is equivalent for 10 is 01010
long myresult = myvarA << 1; // The left shift operation result is : 10100
Console.WriteLine("{0} is left shifted to 1 position result is:{1}",myvarA,myresult);
}
}

출력:

위 코드를 컴파일하고 실행하면 다음과 같은 결과가 나타납니다.

C#의 비트 연산자

6. 비트별 보수

비트 보수 연산자는 하나의 피연산자에만 작동하는 단항 연산자인 '~'로 지정됩니다. ~ 연산자는 비트를 반전합니다. 즉, 1에서 0으로, 0에서 1로 전환합니다.

예:

using System;
using System.Collections.Generic;
using System.Linq;
public class Program
{
public static void Main()
{
int num = 22, num_result;
num_result = ~num;
Console.WriteLine("~{0} = {1}", num, num_result);
}
}

출력:

위 코드를 컴파일하고 실행하면 다음과 같은 결과가 나타납니다.

C#의 비트 연산자

결론

이 기사에서는 C#에서 비트 연산자를 해당 기능과 함께 사용하는 방법을 살펴보았습니다. 이러한 연산자는 이진수라고도 하는 피연산자에 대해 비트 단위 연산을 수행하는 데 사용됩니다. 비트 연산자는 셀 단위로 두 입력의 함수에 대한 이진 해석을 분석합니다. 이러한 연산자는 중요한 정보가 데이터에 연결된 헤더의 개별 비트로 기호화되는 통신 스택에 주로 사용됩니다.

위 내용은 C#의 비트 연산자의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.