포스팅 목차
27. BLSHIFT
2개의 32비트 정수 인수 값의 비트 단위(bitwise) 논리적 왼쪽 이동(left shift)의 값을 반환한다.
Category: | Bitwise Logical Operations |
MAIN |
문 법
BLSHIFT (argument-1,argument-2) |
Arguments
- argument-1
- 는 숫자(nonnegative, and nonmissing)
- argument-2
- 는 숫자(nonnegative, and nonmissing)
참 고
데이터가 저장될 때는 바이너리(binary) 코드로 저장된다.
signed short int형인 경우 10이라는 숫자가 저장될 때는 00001010 (1*2^3 +0*2^2 + 1*2^1 + 0*2^0)으로 저장된다.
이 숫자를 일반적인 left shift를 하면 00010100 (1*2^4 + 0*2^3 +1*2^2 + 0*2^1 + 0*2^0)이 된다. 즉, 20이 된다.
그리고, right shift를 하게되면 00000101 (1*2^2 + 0*2^1 + 1*2^0)로, 5가 된다.
이 쉬프트 연산을 쓰는 이유는 일반 연산보다 속도가 빠르다는 이유 때문이다.
관련 함수
함수명 | 함수내용 |
BAND | 32 비트 정수 값의 비트 단위 논리적 AND 값을 반환한다. |
BLSHIFT | 2개의 32비트 정수 인수 값의 비트 단위(bitwise) 논리적 왼쪽 이동(left shift)의 값을 반환한다. (두 인수의 bitwise 로지컬 왼쪽 이동(left shift) 값을 반환.) |
BNOT | 인수의 비트 단위 논리적(bitwise logical) NOT 값을 반환한다. |
BOR | BOR 함수는 2개 인수의 비트 단위 논리적(bitwise logical) OR 값을 반환한다. |
BRSHIFT | 2개의 32비트 정수 인수 값의 비트 단위(bitwise) 논리적 오른쪽 이동(left shift) 작업을 수행한 결과 값을 반환한다. (두 인수의 bitwise logical right shift값을 반환.) |
BXOR | 2개 인수의 비트 단위(bitwise logical) 논리 배타적인 OR (EXCLUSIVE OR) 값을 반환한다. 즉, 배타적인 OR 작업은 2개 인수 중에 하나만 참(1)인 경우 참(1)으로 반환한다. |
예 제
각 해당값을 논리적 왼쪽 이동 작업을 수핸한 값을 반환한다.
SAS Statements |
DATA BLSHIFTK;
X = BLSHIFT(07X,2);
PUT X=HEX.;
X = BLSHIFT(10,1);
PUT X=;
X = BLSHIFT(1,0);
PUT X=;
X = BLSHIFT(0,0);
PUT X=;
RUN;
Results |
X = 0000001C
X = 20
X = 1
X = 0
SAS 함수(SAS Function) 리스트 링크 |
엑셀(EXCEL)과 SAS 함수(SAS Function) 비교 리스트 링크 |
SAS 데이터 스텝 구문 리스트(SAS Data Step Statement) |
반응형
'SAS > SAS 함수' 카테고리의 다른 글
【SAS 함수】 29. BOR 함수 (0) | 2018.11.17 |
---|---|
【SAS 함수】 28. BNOT 함수 (0) | 2018.11.17 |
【SAS 함수】 26. BETAINV 함수 (0) | 2018.11.17 |
[SAS 함수] 25. BETA 함수 (0) | 2018.11.16 |
【SAS 함수】 24. BAND 함수 (0) | 2018.11.16 |
댓글