-
쉬프트연산
-
진법 정리
-
0x000000ff과 교집합
쉬프트연산
한 변수에 두개의 값을 대입하기
쉬프트연산 후 합집합
상황 : x,y 좌표를 보내야하는데 Integer를 short로 비트를 줄여서 보내야함
즉, 16비트안에 두 좌표를 넣어야하는 상황
16비트중 앞 8비트에는 7을, 뒤8비트에는 5를 나타내고자한다면
- pos = 7<<8 : 7를 왼쪽으로 8비트 이동시키고(쉬프트연산) pos에 대입.
- pos | 5 : 합집합
5를 바로 대입해버리면 7이 없어진다.
합집합은 서로 영역을 건들이지않으면서 그대로 나온다.
진수
컴퓨터는 2진수를 사용한다. : 0, 1 (1,0을 비트라고부른다)
16진수는 2진수보다 가독성이 좋다(ex 11111111 -> ff)
2진수 | 0 ,1 2가지 데이터표현 |
1비트 | 0b | |
4진수 | 00, 01, 10, 11 4가지 데이터표현 |
2비트 | ||
8진수 | 000 ~ 111 8가지 데이터표현 |
3비트 | 0 | |
16진수 | 0000 ~ 1111 16가지 데이터표현 |
4비트 | 0x | 0~9ABCDEF |
1 byte = 8 bits (바이트는 컴퓨터가 저장하는 최소단위)
10진수 : 23
2 진수 : 0b10(1bit*2=2bit)
8진수 : 023 (3bit*2=6bit)
16진수 : 0x00(4bit*2=8bit)
16진수, 각 4비트를 의미,
0xff = 0b1111 1111
0x0f = 0b0000 1111
0x0f7 = 0b0000 1111 0111
0b000000 : 6bit (1bit*6)
0x000000 : 24bit (4bit*6)
0x000000ff과 교집합
0x000000ff와 비트연산자&(교집합)를 이용해 원하는 값을 도출하기
0x000000ff : 0000 0000 0000 0000 1111 1111 (0하나당 4비트를 의미)
[ ? ][ ? ][ ? ][ b]->[ ][ ][ ][ b]로 채우고싶다면
0으로쓰인 블럭은 교집합을 하면 0만 나온다.
1과 교집합하면 그대로 나온다.
남기고싶은 영역을 1로 활성화 시키고 나머지를 0으로하면 정리된다.
'2021 Newlecture > JAVA' 카테고리의 다른 글
if / switch / 중첩된 제어구조 벗어나기 /do while (0) | 2021.03.08 |
---|---|
nextInt() , nextLine()사용시 주의사항/Integer.pasrseInt() (0) | 2021.03.08 |
복합 대입연산자 / 삼항연산자 (0) | 2021.03.08 |
제어구조 / FileStream을 통해 파일복사 (0) | 2021.03.05 |
FileInputStream으로 Bitmap File Size 출력 (0) | 2021.03.04 |
산술연산/ 단항,비교논리,비트,쉬프트 연산자/ FileStream이용한 메모장 입력출력 (0) | 2021.03.03 |
System.in.read() / Scanner / next() / 메모장내용 출력하기 (0) | 2021.03.02 |
이스케이프문자, 포멧문자열, 형식지정자, print()함수 (0) | 2021.02.26 |