영어 버전 문서로 돌아가기Bitwise 정수 연산
Bitwise 정수 연산(SPSS Modeler)
마지막 업데이트 날짜: 2024년 10월 07일
이러한 함수를 사용하여 정수를 2의 보수 값을 나타내는 비트 패턴으로 조작할 수 있습니다(여기서 비트 위치 N
은 가중치 2**N
을 가짐).
비트는 0부터 위로 번호가 매겨집니다. 이러한 연산은 정수의 부호 비트가 왼쪽으로 무한정 확장되는 것처럼 작동합니다. 따라서 최상위 비트 위 어디서나 양의 정수는 0 비트를, 음의 정수는 1 비트를 갖습니다.
함수 | 결과 | 설명 |
---|---|---|
~~ INT1 |
정수 | 정수 INT1의 bitwise 보수를 생성합니다. 즉, INT1에 0이 있는
각 비트 위치에 대한 결과에 1이 있습니다. 항상 ~~ INT =
–(INT + 1) 에 해당합니다. |
INT1 || INT2 |
정수 | 이 연산의 결과는 INT1 및 INT2의 bitwise "inclusive or"입니다. 즉, INT1이나 INT2 또는 둘 다에 1이 있는 각 비트 위치에 대한 결과에 1이 있습니다. |
INT1 ||/& INT2 |
정수 | 이 연산의 결과는 INT1 및 INT2의 bitwise "exclusive or"입니다. 즉, INT1이나 INT2에는 1이 있지만 둘 다에는 있지 않은 각 비트 위치에 대한 결과에 1이 있습니다. |
INT1 && INT2 |
정수 | 정수 INT1 및 INT2의 bitwise "and"를 생성합니다. 즉, INT1과 INT2 둘 다에 1이 있는 각 비트 위치에 대한 결과에 1이 있습니다. |
INT1 &&~~ INT2 |
정수 | INT1의 bitwise "and" 및 INT2의 bitwise 보수를 생성합니다. 즉, INT1에는 1이 있고 INT2에는 0이 있는 각 비트 위치에 대한 결과에 1이 있습니다. 이는 INT1 && (~~INT2) 와 동일하며 INT2에 설정된 INT1의 비트를 지우는 데 유용합니다. |
INT << N |
정수 | N 위치만큼 왼쪽으로 이동한 INT1의 비트 패턴을 생성합니다. N에 대한 음수값은 오른쪽 이동을 생성합니다. |
INT >> N |
정수 | N 위치만큼 오른쪽으로 이동한 INT1의 비트 패턴을 생성합니다. N에 대한 음수값은 왼쪽 이동을 생성합니다. |
INT1 &&=_0 INT2 |
부울 | 부울 표현식 INT1 && INT2 /== 0 과(와) 동등하지만 더 효율적입니다. |
INT1 &&/=_0 INT2 |
부울 | 부울 표현식 INT1 && INT2 == 0 과(와) 동등하지만 더 효율적입니다. |
integer_bitcount(INT) |
정수 | INT에 대한 2의 보수 표시에서 1 또는 0 비트 수를 계산합니다. INT가 음수가 아닌 경우 N은 1 비트 수입니다. INT가 음수이면 0 비트 수입니다. 부호 확장으로 인해 음수가 아닌 정수에 무제한 수의 0 비트가 있거나 음의 정수에 1 비트가 있습니다. 항상 integer_bitcount(INT) = integer_bitcount(-(INT+1)) 입니다. |
integer_leastbit(INT) |
정수 | 정수 INT에 설정된 최하위 비트의 비트 위치 N을 리턴합니다. N은 INT가 정확하게 나누는 2의 최대 거듭제곱입니다. |
integer_length(INT) |
정수 | 2의 보수 정수로 INT의 비트 길이를 리턴합니다. 즉, N은 INT < (1 << N) if INT >= 0 INT >= (–1 <<
N) if INT < 0 과(와) 같은 가장 작은 정수입니다. INT가 음수가 아닌 경우, 부호 없는 정수로
INT를 표시하려면 최소 N 비트의 필드가 필요합니다. 또는 부호에 관계없이 부호 있는 정수로 INT를 표시하려면 최소 N+1 비트가 필요합니다. |
testbit(INT, N) |
부울 | 정수 INT의 N 위치에서 비트를 검정하고 1의 경우 참이고 0의 경우 거짓인 부울 값으로 비트 N의 상태를 리턴합니다. |