1 bit (2^1) = 0 , 1
즉 , 숫자를 0과 1로 표현 가능하다. ==> 2진수
2 bit (2^2) = (0 0), (0 1), (1 0), (1 1)
즉, 숫자를 0, 1, 2, 3 로 표현 가능하다. ==> 4진수
3 bit (2^3) = (0 0 0), (0 0 1), (0 1 0), (0 1 1), (1 0 0), (1 0 1), (1 1 0), (1 1 1)
즉, 숫자를 0, 1, 2, 3, 4, 5, 6 ,7 로 표현 가능하다. ==> 8진수
4 bit (2^4) = (0 0 0 0) ..... (1 1 1 1)
즉 숫자를 0 ~ 15 까지 표현 가능하다. ==> 16진수
8 bit (2^8) = (0 0 0 0 0 0 0 0) .... (1 1 1 1 1 1 1 1)
(== 1byte)
즉 숫자를 0~ 256 까지 표현 가능하다. ==> 256진수
8bit 는 2자리수의 16진수로 표기 가능하다.
왜? 0 0 0 0 0 0 0 0
(4bit => 16진수 ) (4bit => 16진수 )
따라서 1byte는 2자리의 16진수로 표현 가능하다.
8진수, 16진수를 10진수로 변환하여 출력하는 알고리즘 문제 해설
==> seeminglyjs.tistory.com/112
핵심: 문자열로 입력받아 index 1 번째가 x인지 아닌를 확인 (8진수(016)와 16진수(0x16) 분별)
Integer.valueOf(문자열 진수값, 문자열의 진수);
ex.
8진수라면 앞에 0 이후의 값을 분리하고(분리한값 N8에 저장) int result = Integer.valueOf(N8, 8); // 8진수 -> 10진수
16진수라면 앞에 0x 이후의 값을 분리하고(분리한값 N16에 저장) int result = Integer.valueOf(N16, 16);
// 16진수 -> 10진수
[변환 메소드 정리]
Java Integer클래스로 쉽게 2진수,8진수,16진수 표현을 할수 있다.
메서드는 아래와 같습니다.
2진수 변환 : Integer.toBinaryString(int);
8진수 변환 : Integer.toOctalString(int);
16진수 변환 : Integer.toHexString(int);
각각의 값을 문자열로 반환 해줍니다.
꺼꾸로 문자열 2,8,16진수를 숫자로도 변환이 가능합니다.
사용 방법은 아래와 같습니다.
2진수 변환 : Integer.valueOf(string, 2);
8진수 변환 : Integer.valueOf(string, 8);
16진수 변환 : Integer.valueOf(string, 10);
(출처: forum.falinux.com/zbxe/index.php?document_srl=781790&mid=lecture_tip#:~:text=8%EC%A7%84%EC%88%98%20%EB%B3%80%ED%99%98%20%3A%20Integer.toOctalString,%EB%8F%84%20%EB%B3%80%ED%99%98%EC%9D%B4%20%EA%B0%80%EB%8A%A5%ED%95%A9%EB%8B%88%EB%8B%A4.)
'JAVA 부족한 부분 공부' 카테고리의 다른 글
[JAVA] STRING[] ARGS (프로그램 아규먼트)란 무엇인가? (0) | 2021.01.19 |
---|---|
파일 읽기, 쓰기 (0) | 2021.01.19 |
printf() 함수의 포맷 스트링 (0) | 2021.01.18 |
상속, 오버라이딩 (0) | 2021.01.18 |
비트 연산자, 시프트 연산자 (0) | 2021.01.18 |