CS

Bit Operation 간단 정리

dev_roach 2022. 7. 28. 22:58
728x90

Bit Operation

CD 같은 곳을 자세히 보면 굴곡 같은게 져있음을 확인할 수 있는데, 이를 빛으로 확인해서 어떤 값이 저장되어 있는지 확인할 수 있다. 예를 들면 긴줄은 1, 짧은 줄은 0 이라 해서 어떤 값을 표현할 수 있다는 것이다.

Integer

Integer 값을 저장하기 위해서 Java 에서는 4 Byte 의 저장공간이 필요하고 이는 Bit 로 표현하면 32 bits 에 해당한다.
Int i = 8 을 저장한다면 다음과 같이 저장될 것이다.

image

즉 Integer 가 표현할 수 있는 가짓수는 (0,1)^32 - 1 에 속하게 되므로 2^32 - 1 에 속한다.
즉 4,294,967,296 가짓수의 수가 표현 가능하다. 하지만 보통 음의 정수를 표현해야 하므로 맨앞의 비트를 부호 비트로 두게 된다. 따라서 -2^31 ~ 2^31 - 1 가 보통 표현 가능한 수의 범위수이다. 그래서 범위가 -2,147,483,648 ~ 2,147,483,648 에 해당한다.

OR Operation

비교하는 두개의 값이 하나라도 1(True) 일 경우 True 이다.

image

And Operation

비교하는 두개의 값이 둘다 1(True) 일 경우 True 이다.

image

Not Operation

현재 진수의 0 과 1을 바꾸어 준다.

image

Xor Operation

비교 하는 두 진수가 서로 다른 값을 가지고 있을 경우에 1로 표시한다. XOR 는 이러한 이유로 0 과 연산하게 되면 자기 자신이 나오게 된다. 그러면 모든 값이 1인것과 연산하면 어떻게 될까? 무조건 ~ 을 한 값이 나오게 된다. 부호를 지키는 것과, 부호를 지키지 않는 연산이 존재한다.

image

Left Shift Operation

Left Shift Operation 을 수행하면 연산을 수행하는 횟수 만큼 왼쪽으로 칸을 밀어주게 된다.

image

Right Shift Operation

Right Shift Operation 을 수행하면 연산을 수행하는 횟수 만큼 오른쪽으로 밀어주게 된다. 이 상황에서 값이 짤릴 수도 있게 된다.

image
728x90

'CS' 카테고리의 다른 글

브라우저를 눌렀을때 발생하는 일  (0) 2022.08.28
Code 와 Blocking And Sync Model 에 관하여  (0) 2022.06.24
HTTP Pipelining  (0) 2022.05.22
End-To-End Header / Hob-by-Hob Header  (0) 2022.05.22