SAS FUNCTION
SAS 9.1.3
Go to Documentation Home
HOME
Go to Book List
FUN_home
Go to Table of Contents
연구회
Go to Index
자료실
Go to Master Index
SAS  9.1.3
Go to Feedback page
MAIL
BLSHIFT
Go to previous page
Previous
Go to next page
Next
처음메뉴로

27. BLSHIFT



두 인수의 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가 된다.

이 쉬프트 연산을 쓰는 이유는 일반 연산보다 속도가 빠르다는 이유 때문이다.

예제

MAIN

 

각 해당값을 로지컬 왼쪽 이동을 수행한다.

SAS Statements Results
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;
 
X = 0000001C

X = 20

X = 1

X = 0


2006년 백승민 제작하였답니다. 
( http://cafe.daum.net/statsas )