Byte에서 Hex로 형변환 방법
- 공부/프로그래밍
- 2022. 2. 7. 19:40
728x90
반응형
#1 &0xff 비트연산 수행
byte형은 8비트 공간을 차지, int는 32비트 공간을 차지한다.
비트연산자 &를 수행할 경우, 비트수가 넓은 곳에 맞춰 낮은 비트를 가진 자료형을 확장시킨다.
ByteData & 0xff를 수행할 경우, byte는 32비트의 int형으로 강제 형변환된다.
이때 비트의 확장 시 ByteData의 가장 앞의 비트가 0인 경우는 0으로, 1인 경우는 1로 모든 비트를 채워 확장한다.
이렇게 되면 원본 값과 전혀 다른 값이 되기 때문에 &0xFF 비트 연산을 수행하는 것이다.
11111111111111111111111110101010
00000000000000000000000011111111
-------------------------------------------
00000000000000000000000010101010
#2 unsigned 표현방법
음수를 양의 정수로 표현하고 싶을때가 있다. 예를 들어, IPv4의 네 바이트 IP 주소를 4byte의 Signed Integer로 표현되었다고 하면, 255.255.255.255(FF FF FF FF)는 -1로 표현된다.
그럼 반대로, -1을 unsigned로 표현하려면
ip = -1
u_ip = ip & 0xFFFFFFFF
print '%08X' % u_ip
참고 사이트
반응형
'공부 > 프로그래밍' 카테고리의 다른 글
python을 이용해 엑셀 내 필요한 데이터 추출 (0) | 2020.12.14 |
---|---|
Python 파이썬 문자열을 다루어 보자 #1 (0) | 2020.07.22 |
pandas - 엑셀 파일 합치기 소스 (0) | 2020.07.18 |
C# Form 해상도 별 전체화면 및 위치 설정 (0) | 2020.03.28 |
C# listview에 저장되는 데이터 파일로 저장하기 (0) | 2020.03.25 |
Uploaded by Notion2Tistory v1.1.0