C# 비트 왼쪽 시프트(<<) 연산자

C Biteu Oenjjog Sipeuteu Yeonsanja



C# 프로그래밍에서는 Bitwise 연산자를 사용하여 비트 수준 연산을 수행할 수 있습니다. 비트 레벨 계산은 더하기, 빼기, 곱하기 또는 나누기와 같은 산술 연산을 수행할 때 CPU에서 수행됩니다. 우리는 또한 C# 프로그래밍에서 Bitwise 작업을 수행할 수 있으며 프로세스는 간단합니다. Bitwise 연산자는 주어진 값에 대해 연산을 수행합니다. 이동할 비트 수도 지정됩니다. C# 언어에는 6개의 Bitwise 연산자가 있으며 그 중 2개는 시프트 연산자입니다.

토론 주제는 교대 연산자에 관한 것입니다. Bitwise 좌이동 연산자(<<)에 대해 자세히 설명하겠습니다. 이동 연산자는 이름에서 알 수 있듯이 지정된 위치에서 왼쪽이나 오른쪽으로 비트를 이동합니다. 비트 왼쪽 시프트 연산자(<<)를 사용하는 동안 값은 지정된 비트 수만큼 왼쪽으로 이동합니다. 왼쪽 이동 연산자는 int(정수), uint(부호 없는 정수), long(긴 정수) 및 ulong(부호 없는 긴 정수)에서만 입력을 받습니다. 왼쪽 피연산자가 다른 유형에 속하는 경우 정수 유형으로 변환됩니다. 결과 값의 데이터 유형은 32비트로 제한됩니다. 출력은 이보다 클 수 없습니다. 비트 연산자는 코드를 효율적이고 빠르게 만듭니다. 또한 더 정확하고 정밀합니다.

통사론:

피연산자_1 << 피연산자_2







첫 번째 'Operand_1'은 왼쪽에서 'Operand_2'가 포함하는 이동 수로 이동한 값입니다. 기호 << 왼쪽은 'Operand_1'을 이동합니다.



예 1:

Bitwise 왼쪽 시프트 연산자(<<)는 이 프로그램의 정수 값에 적용됩니다.



시스템 사용;

클래스 프로그램_1
{
정적 무효 메인 ( ) {
정수 값_0 = 3. 4 ;
정수 값_1 = 65 ;
정수 입술 = 값_0 << 값_1;
콘솔.쓰기 ( '왼쪽 시프트는 ' ) ;
콘솔.쓰기 ( 입술 ) ;
}
}

첫 번째 명령문에는 두 정수 유형 변수의 선언 및 초기화가 포함되어 있습니다. 첫 번째 변수는 'Value_0'이고 두 번째 변수는 'Value_1'입니다. 저장되는 값은 '34'와 '65'입니다. 왼쪽 시프트 연산자(<<)를 사용하여 값 34를 왼쪽 시프트합니다. 그런 다음 정수 데이터 유형을 가진 다른 변수를 선언하여 결과를 저장합니다. 여기서는 왼쪽 시프트 연산자(<<)를 Value_0 << Value_1로 사용합니다. 이 연산자는 왼쪽 피연산자의 왼쪽 값을 두 번째 피연산자의 주어진 값만큼 왼쪽으로 이동합니다. 'res'는 시프트 연산자의 출력을 저장합니다. 그런 다음 Console.Write() 메서드를 호출하여 'The left shift is'라는 텍스트와 터미널의 'res'에 저장된 결과 값을 인쇄합니다.





예 2:

부호 없는 정수 값에 대해 왼쪽 시프트 연산자를 사용하고 출력을 생성하는 방법을 살펴보겠습니다.



시스템 사용;

수업 프로그램_2
{
정적 무효 메인 ( ) {
단위 Val_0 = 4435 ;
정수 Val_1 = 64 ;
단위 결과 = Val_0 << Val_1;
콘솔.쓰기 ( '왼쪽 시프트는 ' ) ;
콘솔.쓰기 ( 결과 ) ;
}
}

여기서는 부호 없는 정수 유형 값에 왼쪽 시프트 연산자를 적용합니다. 주의해야 할 한 가지는 컴파일러가 시프트할 정수 값만 사용하기 때문에 두 번째 피연산자가 정수 유형 값이어야 한다는 것입니다.

static void Main() 함수를 호출한 후 두 개의 변수를 선언합니다. 그 중 하나는 부호 없는 정수 값 'Val_0'이고 다른 하나는 정수 값 'Val_1'입니다. 그런 다음 부호 없는 정수를 왼쪽으로 이동한 후 결과 값을 유지하기 위해 'result'인 또 다른 부호 없는 정수 변수를 정의합니다. 왼쪽 이동 후 결과는 부호 없는 값이기 때문에 결과를 정수형 변수에 저장할 수 없습니다. 'Val_0 << Val_1' 문은 부호 없는 정수 값인 왼쪽 피연산자를 왼쪽으로 이동합니다. 부호 없는 정수 값을 생성합니다. 마지막으로 Console.Write() 메서드를 사용하여 'The left shift is'라는 텍스트와 함께 출력 화면에 결과를 표시합니다.

예 3:

이 인스턴스에서는 긴 정수 값에 대해 Bitwise 왼쪽 시프트 연산자(<<)를 사용하는 다양한 방법에 대해 설명합니다.

시스템 사용;

수업 프로그램_3
{
정적 무효 메인 ( ) {
긴 번호_0 = 오분의 사 ;
긴 number_1 = 5 ;

콘솔.쓰기 ( '롱의 왼쪽 시프트는' ) ;
콘솔.쓰기줄 ( number_0 << ) ;
콘솔.쓰기 ( '롱의 왼쪽 시프트는' ) ;
콘솔.쓰기 ( number_0 << Convert.ToInt16 ( number_1 ) ) ;
}
}

두 개의 Long형 정수형 변수 “number_0”과 “number_1”의 초기화는 첫 번째 문에서 합니다. Console.Write() 함수를 호출하여 'The left shift of long is'라는 메시지와 그 결과를 터미널에 표시합니다. 여기서 첫 번째 피연산자를 첫 번째 변수로, 두 번째 피연산자를 정수 값으로 두는 방식으로 왼쪽 이동 연산자(<<)를 적용합니다. 컴파일러는 'number_0'인 첫 번째 피연산자를 3만큼 왼쪽으로 이동하고 결과를 표시합니다. 다음 문에서 Console.Write() 메서드를 사용하여 다른 메시지를 화면에 인쇄합니다. 여기서는 첫 번째 변수인 “number_0”을 첫 번째 피연산자로, 두 번째 변수인 “number_1”을 두 번째 피연산자로 활용합니다. 두 번째 피연산자는 정수 유형 값이어야 합니다. Convert.ToInt16() 함수를 사용하여 두 번째 변수 'number_1'을 정수 유형으로 유형 변환합니다. 그런 다음 콘솔에 결과를 표시합니다.

예 4:

이 코드는 unsigned long 연산자에서 왼쪽 이동을 수행한 후 정수에 값을 할당하는 방법을 보여줍니다.

시스템 사용;

클래스 프로그램_4
{
정적 무효 메인 ( ) {
머리 번호_0 = 445 ;

콘솔.쓰기 ( '울롱의 좌이동은' ) ;
콘솔.쓰기줄 ( number_0 << 8 ) ;
콘솔.쓰기 ( '울롱의 좌이동은' ) ;
콘솔.쓰기줄 ( number_0 << 16 ) ;
콘솔.쓰기 ( '울롱의 좌이동은' ) ;
콘솔.쓰기줄 ( number_0 << 32 ) ;

}
}

먼저 “number_0”인 부호 없는 정수형 변수 하나를 선언합니다. 다음으로 Console.Write() 메서드를 호출하여 터미널에 'The left shift of ulong is'라는 텍스트를 표시합니다. 정수 값 8만큼 'number_0'의 왼쪽 시프트를 찾을 것이며 결과를 어디에도 저장할 필요가 없습니다. Console.WriteLine() 함수는 결과를 콘솔에 출력합니다. 이 과정을 두 번 반복하고 두 번째 피연산자의 값을 변경합니다. 이를 통해 long unsigned 정수 유형 값의 왼쪽 이동을 찾을 수 있습니다. 그러나 결과 값을 변수에 저장하려면 결과가 첫 번째 피연산자와 같은 유형이라는 점을 염두에 두어야 합니다. Console.Write()와 Console.WriteLine()의 유일한 차이점은 두 번째 함수는 결과를 인쇄하고 커서를 다음 줄로 보내는 반면 첫 번째 함수는 결과만 인쇄하고 이후에도 같은 줄에서 커서가 깜박인다는 점입니다. 출력을 표시합니다.

결론

C#의 Bitwise 연산자, 유형 및 기능을 살펴보았습니다. 왼쪽 이동(<<) 연산자는 숫자 또는 값을 지정된 비트 수만큼 왼쪽으로 이동하는 데 적용됩니다. Bitwise 연산자는 코드의 효율성을 높이고 경량 연산자이므로 시스템에 부담을 주지 않습니다. 우리의 CPU(컴퓨터 처리 장치)는 산술 연산을 수행할 때마다 Bitwise 수준에서 작동합니다. 간단히 말해서 Bitwise 연산자는 프로그래밍에서 중요하며 C#은 왼쪽 시프트 연산자(<<)가 그 중 하나인 모든 Bitwise 연산자를 지원합니다.