NodeCrypto 도움말

Bit Shift & Rotate

카테고리: 유틸리티 · 노드 타입 ID: utility-bitshift

바이트 배열을 지정한 비트 수만큼 이동하거나 회전한다 (SHL, SHR, ROL, ROR)

개요

바이트 배열 전체를 하나의 연속된 빅엔디안 비트열로 보고 지정한 비트 수만큼 왼쪽 또는 오른쪽으로 논리 시프트(SHL, SHR)하거나 순환 회전(ROL, ROR)한다.

사용 시점

파라미터 설정

파라미터 (ID)타입 및 기본값노출 조건설명 및 옵션
연산
operation
select
기본값: SHL
항상 노출 수행할 시프트 또는 회전 방향(SHL, SHR, ROL, ROR)이다.
  • SHL: 왼쪽 논리 시프트(<<): 비트를 왼쪽(MSB 방향)으로 밀고 오른쪽 빈자리는 0으로 채운다.
  • SHR: 오른쪽 논리 시프트(>>): 비트를 오른쪽(LSB 방향)으로 밀고 왼쪽 빈자리는 0으로 채운다.
  • ROL: 왼쪽 순환 회전(Rotate Left): 왼쪽 끝에서 밀려난 비트가 오른쪽 끝으로 다시 들어온다.
  • ROR: 오른쪽 순환 회전(Rotate Right): 오른쪽 끝에서 밀려난 비트가 왼쪽 끝으로 다시 들어온다.
비트 수
bits
number
기본값: 1
변수 참조 지원 ($var: int)
항상 노출 이동할 비트 수(0 이상의 정수)이다. 외부 Bits 입력 포트가 연결되면 포트 값이 우선한다.

포트 입출력 명세

포트 연결 규칙, 데이터 타입별 색상, 가변 포트 생성 방식은 포트 및 연결 문서를 참고한다.

입력 포트

포트 성격: 고정 입력 포트 (총 1개).

포트 이름포트 ID데이터 타입필수 여부노출 조건설명
Value data Bytes 필수 항상 노출

출력 포트

포트 성격: 고정 출력 포트 (총 1개).

포트 이름포트 ID데이터 타입노출 조건설명
Result result Bytes 항상 노출

오류 케이스

실행 중 아래 조건이 발생하면 이 노드는 ERROR 상태가 되며, 출력 포트에 연결된 하위 노드는 실행되지 않는다.

오류 코드기본 엔진 메시지발생 조건
BYTES_INVALID_ARGUMENT 인자 값이 올바르지 않는다 이동할 비트 수(bits)가 음수이거나 정수가 아닐 때 발생한다.

활용 예시

16바이트 블록을 왼쪽으로 1비트 시프트하기

블록 전체를 1비트 왼쪽으로 밀어 최상위 비트를 버리고 최하위 비트를 0으로 채운다.

  1. Bit Shift & Rotate에서 연산을 SHL, 비트 수를 1로 설정하고 Bytes를 연결한다.