기본 콘텐츠로 건너뛰기

라벨이 bitwise인 게시물 표시

[matplotlib]quiver()함수

[python] 연산자 II: 비트 연산자, 특수한 연산자

연산자 II 비트 연산자(Bitwise operators) 특수한 연산자 재할당연산자 다중할당 in, is 연산자 가변연산자('*') 비트 연산자(Bitwise operators) 컴퓨터 연산은 2진법에 의해 진행됩니다. 데이터가 입력되면 2진수로 변환되고 그 결과는 메모리에 한 개(1비트)당 0 또는 1로 저장 됩니다. 입력된 두 데이터의 연산은 다음의 순서로 이루어집니다. 2진수로 변환 동일한 위치에 저장된 값들 사이에 비트단위로 연산 예를 들어 십진수 2와 10의 경우 2진수로 b0010, b1010이 됩니다. 두수의 각 비트의 연산은 표 1과 같습니다. 표 1 2와 10의 비트 연산 십진수 이진수 2 0 0 1 0 10 1 0 1 0 (+)12 1 1 0 0 비트로 표현된 객체 또는 객체들 사이에 연산은 표 2에 소개한 연산자를 사용합니다. 비트 연산을 위해서는 이진수로 전환이 필요하며 음의 이진수로의 변환을 위해서는 보수법 을 적용합니다. 표 2 비트 연산자 연산자 의미 x & y 비트 단위로 AND x | y 비트 단위로 OR ~x 비트 단위로 NOT, 1의 보수(complement) x^y 비트 단위로 XOR (다른 값: True(1), 같은 값: False(0)) x >> a 객체 x를 오른쪽으로 a 비트 이동 x << a 객체 x를 왼쪽으로 a 비트 이동 표 1에서 나타낸 것과 같이 표 2에서 소개한 비트연산자 역시 동일한 위치의 비트 사이에서...

코틀린 연산자 (2)

비트 연산자 연산자 의미 and, .and(bits)       and, 모두 true일경우만 true or, .or(bits)        or, 모두 false일경우만 false xor, .xor(bits)         배타적 OR, 두 값이 다르면 true .inv(bits)          not,  보수 연산으로 반전 .shr(bits)          not,  지정한 비트수 만큼 오른쪽으로 이동 .shl(bits)          not,  지정한 비트수 만큼 왼쪽으로 이동 .ushr(bits)          not,  부호 고려하지 않고 지정한 비트수 만큼 오른쪽으로 이동 fun main() {     val a = 1     val b = 0     println("and: ${a and b},  or: ${a or b}, xor: ${a.xor(b)}, inv: ${a.inv()}") }       and: 0,  or: 1, xor: 1, inv: -2 1 shl 2  //1을 왼쪽으로 2 비트 이동  res1: kotlin.Int = 4 4 shr 2 //4를 오른쪽으로 2비트 이동 res2: kotlin.Int = 1 10진수를 2진수로 변환하기 위해 다음 메소드를 적용합니다. 객체.toString(2) : 10 진수인 객체를 2진수로 변환 다음과 같이 1과 4를 이진수로 변환하면 다음과 같습니다. ...