`DSHIFTL` — 결합 왼쪽 시프트(Combined left shift)
DSHIFTL — 결합 왼쪽 시프트(Combined left shift)
두 정수의 비트를 이어 붙여 왼쪽으로 회전 이동시키고 싶을 때가 있어요. 회전 시프트(rotate)처럼 '밀려나온 자리'를 다른 값의 비트로 채우는 방식이에요. DSHIFTL(I, J, SHIFT)는 I와 J의 비트를 결합해 왼쪽으로 시프트하는 내장 함수예요.
본문
시그니처
RESULT = DSHIFTL(I, J, SHIFT)
설명
DSHIFTL(I, J, SHIFT)는 I와 J의 비트를 결합해요. 결과의 오른쪽 SHIFT개 비트는 J의 왼쪽 SHIFT개 비트이고, 나머지 비트는 I의 오른쪽 비트들이에요. 즉 J의 상위 비트가 I의 왼쪽 끝으로 '밀려들어오는' 결합 이동이에요.
클래스
원소 함수(Elemental function)
인자
I—INTEGER,UNSIGNED또는 BOZ 상수.J—INTEGER,UNSIGNED또는 BOZ 상수.I와J가 모두INTEGER또는UNSIGNED타입이면 같은 타입·종류여야 하고, 둘 다 BOZ 상수여서는 안 돼요.SHIFT—INTEGER타입. 음수가 아니어야 해요.I가 BOZ 상수가 아니면SHIFT는BIT_SIZE(I)이하여야 하고, BOZ 상수이면BIT_SIZE(J)이하여야 해요.
반환값
반환값은 I와 같은 타입·종류이고, I가 BOZ 상수이면 J와 같은 타입·종류예요.
표준
Fortran 2008 이상이며, UNSIGNED에 대한 지원은 GNU 확장이에요.
함께 보기
- DSHIFTR — 결합 오른쪽 시프트