2/

2/ (two-slash) — 2로 나누기 (산술 시프트)

2/(two-slash)는 x1을 오른쪽으로 1비트 시프트한 결과 x2를 구하는 코어 단어예요. 부호 있는 값에서는 산술 시프트로 부호 비트가 보존돼요.

출처: 2/ — Forth 2012 Standard

본문

스택 효과

( x1 -- x2 )

설명

x2x1을 오른쪽으로 1비트 위치 시프트한 결과예요. 부호 있는 x1에 대해서는 부호 비트(최상위 비트)가 전파되어 산술 시프트가 돼요.

테스트 (Testing)

T{       0 2/ ->       0 }T
T{       1 2/ ->       0 }T
T{       2 2/ ->       1 }T
T{       3 2/ ->       1 }T
T{      -1 2/ ->      -1 }T
T{      -2 2/ ->      -1 }T
T{      -3 2/ ->      -2 }T
T{      -4 2/ ->      -2 }T
T{ MIN-INT 2/ -> MIN-INT 2/ }T
T{ MAX-INT 2/ -> MAX-INT 2/ }T
\ MSB PROPOGATED
T{ 1111111111111111 2/ -> 1111111111111111 }T

더 알아보기 (Learn more)

출처: 2/ — Forth 2012 Standard