- 기본적인 데이터 저장 방식 : 2진수 (0과 1로 표현)
- 비트(bit)
- 2진수 하나값을 저장할 수 있는 메모리 크기(1bit = 2진수 1자리)
- 컴퓨터가 표현하는 데이터 최소 단위
- 정수(int)를 표현할 때는 32bit(=4byte)를 주로 사용한다.
- 바이트(byte)
- 1 byte = 8 bit
<2진수로 음수 표현하는 법>
- 8 bit로 간단하게 표현
- 각 bit 맨 앞자리 수는 MSB(Most Significant Bit)라고 하여 부호를 나타내는 부호 비트이다.(0 : 양수, 1 : 음수)
0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
- 위와 같이 5를 표현하는 2진수를 가정하여 이의 음수를 만드는 방법은 아래와 같다.
- 음수로 만드는 것의 궁극적인 목표는 두 수를 더한 결과가 0이 나오게 하는 것이다.
- 1의 보수를 취한다.
1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 |
- - 간단하게 0을 1로, 1을 0으로 바꿔 써주면 된다.
- 2. 1을 더해준다.
1 | 1 | 1 | 1 | 1 | 0 | 1 | 1 |
- 보수를 취한 것 만으로는 더했을 때 모든 자리가 1로 채워지므로 0이 되지 않는다.
- 1을 더함으로써 모든 자리가 올림 처리되어 0으로 변하고 bit 수를 넘어서는 자릿수는 잘리게 되어 최종 수는 0이 된다.
- 컴퓨터에서 각 진수법 표현방식(10진수, 2진수, 8진수, 16진수)
10진수 | 2진수 | 8진수 | 16진수 |
10 | 0b1010 | 012 | 0xA |
- 10진수 : 10진수 그대로 표현
- 2진수 : 2진수 앞에 숫자0 과 b를 붙인다.
- 8진수 : 8진수 앞에 숫자0을 붙인다.
- 16진수 : 16진수 앞에 숫자0 과 x를 붙인다.
⇒ JAVA파일로 컴파일해서 출력할 경우 10진수로 자동 변환되어 출력된다!
- 16진수 표현법
10진수 16진수 9 9 10 A 11 B 12 C 13 D 14 E 15 F 16 10 - 16진수를 쓰는 이유
10진수 2진수 16진수 15 1111 F - 16진수로 표현하면 2진수로 4 bit를 1자리로 표현할 수 있다.
- ex) 주소를 표현할 때 64 bit를 2진수로 표현하면 너무 길기 때문에 16진수로 표현하면(64/4=16자리) 더 간결해진다.
- 16진수로 표현했을 때, bit 수 자체가 줄어드는 것이 아니라 자릿수가 더 줄어드는 것! (압축같이)
- 16진수 한자리 = 4bit
'JAVA > 언어입문' 카테고리의 다른 글
JAVA 상수(final)/리터럴/형변환(casting) (0) | 2022.03.03 |
---|---|
JAVA 변수(variable)의 데이터타입(data type) - 실수형/논리형 (0) | 2022.03.03 |
JAVA 변수(variable)의 데이터타입(data type) - 문자형(char) (0) | 2022.03.02 |
JAVA 변수(variable)의 데이터타입(data type) - 정수형(byte, short, int, long) (0) | 2022.03.02 |
JAVA 변수(variable)란? (0) | 2022.03.02 |
댓글