JAVA 웹 개발 패키지 - 패스트캠퍼스/Chapter1

컴퓨터에서 자료 표현하기(2진수, 8진수, 16진수)

giggs 2021. 12. 20. 22:16

 

2진수로 표현

0과 1로만 데이터를 저장함
bit(1비트) : 컴퓨터가 표현하는 데이터의 최소 단위로 2진수 하나의 값을 저장할 수 있는 메모리의 크기
byte(바이트) : 1byte = 8bit

 

int = 4byte = 32bit

컴파일러로 자료 변형, 컴퓨터가 알아들음

2진수는 0과 1 

bit / byte 

 

 

 

 

2진수와 8진수 16진수

 

 

2 진수의 1 0 1 0 -> 2^3 //  2^2 // 2^1 // 2^0의 자리이다.

(2^3=8) *1 

(2^2=4) *0

(2^1=2) *1 

(2^0=1) *0  

해서 10

 

8 진수의 1 0 -> 8^1 // 8^0의 자리이다

(8^1=8)    *1 

(8^0=1)   *0

해서 8

 

16진수의 1 0 -> 16^1 // 16^0의 자리이다.

(16^1=16)  *1

(16^0=1)   *0

해서 16

 

2 진수 0 - 1 - 10 -  0 - 1 - 10(2) 1bit
8 진수 -> 0~7 까지 표현 (8대신) 10 0 - 1 - 2- 3 - 4 - 5 - 6- 7 - 10(8) 3bit 합쳐서 표현 가능
16 진수 -> 0~15 까지 표현 (16대신) 10 0 - 1 - 2 - 3- 4 -~~ E -  F - 10(16) 4bit 합쳐서 표현 가능

 

bit 합쳐서 표현 가능 -> 메모리가 줄어들고 실행 속도 빨라질 수 있음

 

 


 

 

2진수, 8진수, 16진수 사용 예제 - 각 진수별 10의 값 출력하기

 

 

기본 설정 하기

 

java - package name : ch04 생성 -> class name : BinaryTest 입력 후 main 함수 생성 체크 완료 

 

 

 

 

내용 입력 하기

 

변수 지정 표현할 진수 적용하는 법(0-> 숫자 0 이다.)
num  10진수 -
bNum 2진수 0B
oNum 8진수 0
xNum 16진수 0X

 

B, X는 소문자도 가능

 

 

컴파일 후 출력 해보기

 

system.out.println(num); 

system.out.println(bNum); 

system.out.println(oNum); 

system.out.println(xNum); 

 

각각의 값 10으로 출력 됨. 

각각의 진수로 10의 값 출력 하기 성공 

GOOD :) 

 

 

 


 

 

 

review

갑자기 튀어나온 2진수와 8진수 16진수에 당황하였지만,
bit와 byte 까지 해서 고등학교 때 배웠던 기억이 떠올랐다.

속성과 속성값을 중요시했던 HTML+CSS와는 달리
변수와 변수값도 물론 중요하지만
그것들이 차지하는 크기와 형식을 더 중요시하는 것 같다고 느꼈다.

8bit짜리를 4bit로 합쳐서 표현하면 메모리가 줄어들고 실행 속도가~~~ 
아직은 모르는 부분이지만 크기와 형식 중요한 것 같다.

아직 오류가 나는 부분들이 없어서 그런지. 재미있다.
F11 을 누를 때의 쾌감이 좋다.

17은 어떻게 표현할까 궁금해서 해 보았다.

 

성공! GOOD:)

16진수로 17의 값을 표현할 때 A1 A01 등으로 시도해보며 오류남.

16진수에 16은 10이라는 것을 생각해내고 0X11; 로 성공!