맨위로가기

논리 시프트

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

논리 시프트는 비트열을 지정된 방향으로 이동시키고 빈 자리를 0으로 채우는 연산이다. 왼쪽 논리 시프트는 비트열을 왼쪽으로 이동시키며, 오른쪽 논리 시프트는 비트열을 오른쪽으로 이동시킨다. 예를 들어, 0001 0111 (23)을 왼쪽으로 1비트 논리 시프트하면 0010 1110 (46)이 되고, 오른쪽으로 1비트 논리 시프트하면 0000 1011 (11)이 된다.

더 읽어볼만한 페이지

  • 컴퓨터 산술 - IEEE 754
    IEEE 754는 부동소수점 숫자를 표현하고 처리하기 위한 국제 표준으로, 다양한 형식과 연산, 반올림 규칙, 예외 처리 등을 정의한다.
  • 컴퓨터 산술 - 1의 보수
    1의 보수는 이진수에서 양수는 일반적인 이진수로, 음수는 양수의 각 비트를 반전시켜 표현하며, 덧셈 시 자리올림수가 발생하면 결과값에 더해야 하고, 0을 중복 표현하는 단점으로 현대에는 2의 보수가 주로 사용된다.
논리 시프트
논리 시프트
종류비트 연산
동작 방식비트들을 지정된 방향으로 이동시킴
용도부호 없는 정수의 곱셈 및 나눗셈
프로그래밍 언어 및 컴파일러 최적화
종류별 상세 정보
LSHIFT (Left Shift)비트들을 왼쪽으로 이동시키고, 오른쪽 빈자리는 0으로 채움
RSHIFT (Right Shift)비트들을 오른쪽으로 이동시키고, 왼쪽 빈자리는 0으로 채움

2. 예시

비트 순서 0001 0111을 1개의 비트 위치에서 논리 시프트를 실행하면 다음과 같다.

왼쪽 시프트오른쪽 시프트
0010 1110 (10진수 46)0000 1011 (10진수 11)




2. 1. 왼쪽 논리 시프트

비트열을 왼쪽으로 이동시키고, 빈 자리(최하위 비트, LSB)는 0으로 채우는 연산이다. 예를 들어 0001 0111 (10진수 23)을 왼쪽으로 1비트 논리 시프트하면 0010 1110 (10진수 46)이 된다.

논리적 왼쪽 시프트 한 비트

2. 2. 오른쪽 논리 시프트

오른쪽 논리 시프트는 비트열을 오른쪽으로 이동시키고, 빈 자리는 0으로 채우는 연산이다. 예를 들어 0001 0111 (10진수 23)을 오른쪽으로 1비트 논리 시프트하면 0000 1011 (10진수 11)이 된다.

오른쪽으로 1비트 논리 시프트

  • MSB: 최상위 비트
  • LSB: 최하위 비트

2. 3. 최상위 비트와 최하위 비트

비트열에서 가장 왼쪽에 있는 비트를 최상위 비트(MSB, Most Significant Bit)라고 하고, 가장 오른쪽에 있는 비트를 최하위 비트(LSB, Least Significant Bit)라고 한다.

0001 0111 (십진수 23)을 예로 들어 설명하면 다음과 같다.

  • 왼쪽으로 한 비트 논리 시프트하면 0010 1110 (십진수 46)이 된다.

  • 오른쪽으로 한 비트 논리 시프트하면 0000 1011 (십진수 11)이 된다.


참조

[1] 웹사이트 The Package Interfaces https://www.adaic.or[...]
[2] 웹사이트 Set - Environment Variable - Windows CMD - SS64.com https://ss64.com/nt/[...]
[3] 웹사이트 BitwiseOperators - Python Wiki https://wiki.python.[...] 2018-01-24
[4] 웹사이트 Shl in std::ops - Rust https://doc.rust-lan[...] 2022-01-17
[5] 웹사이트 Operator Expressions: Arithmetic and Logical Binary Operators https://doc.rust-lan[...] 2022-11-13
[6] 웹사이트 PowerPC Instruction Set: slw http://pds.twi.tudel[...] 2016-04-09
[7] 웹사이트 x86 Instruction Set Reference http://x86.renejesch[...] 2016-04-09
[8] 웹사이트 Opcodes.Shl Field http://msdn.microsof[...] Microsoft 2016-04-09
[9] 웹사이트 LLVM Language Reference Manual - shl Instruction http://llvm.org/docs[...] LLVM Project 2016-04-09
[10] 웹사이트 << Operator (C# Reference) http://msdn.microsof[...] Microsoft 2016-04-09



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com